App中的UINavigation问题

时间:2018-08-19 13:03:04

标签: ios swift

我的情节提要中有多个情节提要。我已经将firstVC嵌入了navigationcontroller,并通过segues附加到了firstvc。其余的VC不会嵌入在navigationcontroller中。现在,当我单击按钮以打开没有导航控制器的下一个VC时。它打开两次。当我断开segue时,它不会打开VC。我很困惑为什么会这样。这就是我的界面外观, enter image description here

这就是我执行搜寻的方式,

self.performSegue(withIdentifier: "GoToNextVC", sender: self)

1 个答案:

答案 0 :(得分:0)

视图控制器在堆栈层次结构上运行。通过将第一个视图控制器嵌入UINavigationController中并将其设置为初始视图控制器,您可以将其设为根整个堆栈的视图控制器。之所以出现您遇到的问题,是因为您每次调用performSegue(withIdentifier:sender:)时都在根目录控制器不知情的情况下搜索到控制器。这会导致堆栈混乱并脱节,从而阻止您在调用dismiss(animated:completion:)时返回到先前的视图控制器。

尝试使用以下方法将每个视图控制器推入堆栈,而不要使用segue:

navigationController?.pushViewController(VIEW_CONTROLLER, animated: true)

要使用此功能:

  • 在Interface Builder中删除所有序列,不再需要它们。

  • VIEW_CONTROLLER替换为您要推送的视图控制器。