NavigationBar 后退按钮行为异常且无法正常工作

NavigationBar back button strange behavior and not working

我在导航栏的后退按钮上遇到了一个奇怪的行为。我会尽量用截图来描述(通过链接,因为我还不能上传)

这是第一个屏幕,或者隐藏了导航栏的父视图:Screen 1

这是第一个屏幕的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController?.navigationBarHidden = false
    // Do any additional setup after loading the view.
}
override func viewWillAppear(animated: Bool) {
    self.navigationController?.navigationBarHidden = false
}

这是我推送视图控制器的代码:

var second = self.storyboard?.instantiateViewControllerWithIdentifier("As_ThirdViewControllerID") as! As_ThirdViewController!

self.navigationController?.pushViewController(second, animated: true)

当您单击最后一个标签栏按钮时,它将带您进入第二个屏幕:Screen 2

与第一个屏幕相同的代码,只是导航栏未隐藏

现在,在第二个屏幕中,您可以看到一个按钮...当您单击该按钮时,您将被带到第三个也是最后一个屏幕: Screen 3

与第一个屏幕相同的代码,只是导航栏未隐藏

奇怪的行为: 当我向后滑动时(第三个屏幕 -> 第二个 -> 父级) - 它正在工作.. 当我从第三个也是最后一个屏幕按下后退按钮时 --> 它看起来像这样: Screen 4 -- 不工作,不返回上一个屏幕..."back" 一词突然从箭头

中消失

到目前为止,我的 类 中没有很多代码,因为我刚刚开始并制定设计,所以我无法弄清楚我的程序有什么问题..

当您的 navigationController 堆栈和 navigationBar 堆栈不匹配时,通常会发生这种情况。

尝试添加自定义按钮和选择器,然后使用

弹出
self.navigationController.popViewController(viewController);

我无法编辑我自己的 post,该网站说它有未格式化的代码,而我在 post 下面添加的只是一个句子,在我编辑它之前就已经有代码了.我不知道发生了什么。

但我是这样做的:

看来这是 iOS 中的一个错误,我看到了一个类似的 post 并且没有人自己解决了这个问题:

Navigation stack becomes unusable after canceling iOS 7 back swipe gesture

我只是按照建议禁用了 interactivePopGestureRecognizer