【发布时间】:2021-05-07 16:06:22
【问题描述】:
我有一个需要在两个地方显示的 ViewController。
首先,VC 需要使用其导航栏中的取消按钮来呈现和关闭。
其次,VC 需要推送到导航堆栈(它也以模态方式呈现)并且无法关闭(用户必须使用导航堆栈中的后退按钮)。
我可以在两个地方正确显示 VC,但不能正确使用关闭按钮。当我将取消栏按钮项添加到 VC 时,它在两种情况下都会出现。 如何在 VC 出现时显示取消按钮,在 VC 被按下时隐藏它?
【问题讨论】:
-
在
viewDidLoad中检查self.presentingViewController是否为nil,如果它不是nil,则显示取消按钮,否则不要在导航栏添加任何按钮 -
@SandeepBhandari 这为两者添加了取消按钮。可能是因为 VC 被推送到已经呈现为模态的导航堆栈。
-
那你为什么不能使用
self.navigationController?.presentingViewController != nil?
标签: ios swift uinavigationcontroller navigationbaritems