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
我在导航栏的后退按钮上遇到了一个奇怪的行为。我会尽量用截图来描述(通过链接,因为我还不能上传)
这是第一个屏幕,或者隐藏了导航栏的父视图: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