我有app,我的导航栏里面有Segmented Control。在导航栏下我有3个容器。在这些容器中,我有表视图控制器。如果您点击分段控件,则会出现一个TVC而其他人消失(container1.hidden = true等等)。
问题是当我按下导航控制器中的“保存”按钮时 - 按钮不会触发“虚拟按下后退按钮”。
我使用了以下代码,这些代码在我的其他项目中工作(它在按钮的动作中,在VC中包含所有容器视图)但不是这次:
if let navController = self.navigationController {
navController.popViewControllerAnimated(true)
}
更新:感谢@ Alexey Bondarchuk,我解决了这个问题。评论可能令人困惑,所以我只是回顾一下问题和解决方案。
最初,我有ViewController。我将这个控制器嵌入到导航控制器中。对于这个导航控制器,我连接了segues。这是错误的。 所以我在导航控制器中删除了这个嵌入,将(show)segues直接发送到我的View Controller(截图上)。这个自动创建的导航栏,我做的最后一件事是我把导航项放在里面,所以现在我的代码弹出右导航控制器。希望这是可以理解的。
答案 0 :(得分:1)
I have couple ideas:
Your navigationController equal to 'nil' and .popViewControllerAnimated
will never invoked. This may happen if you are using UITabBarController. In this case try to use self.tabBarController?.navigationController
instead of self.navigationController
.
Your controller presented 'Modally'. In this case you can try to invoke navController.dismissViewControllerAnimated
instead of navController.popViewControllerAnimated