连续推送 View Controller 时,UINavigationController
出现问题。
有关信息,我使用 XCode 7.0,针对 iOS 8 构建,并且应用程序在 Simulator 9.0 上运行。
这是用户手动点击 tableview 的单元格时的 View :
如上面的屏幕截图所示,导航和后退按钮的标题已正常呈现。
但是当我以编程方式执行此操作时,就像这样(stack
是 UIViewController
的数组):
for controller in stack {
self.mainNavController.pushViewController(controller, animated: false)
}
或者像这样使用 0.0 秒的延迟:
for controller in stack {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64((0.0 * Float(NSEC_PER_SEC)))), dispatch_get_main_queue(), {
self.mainNavController.pushViewController(controller, animated: false)
})
}
最终结果会这样显示(左边是w/o delay,右边是w/delay):
请注意左侧屏幕截图中缺少导航标题(无延迟),右侧屏幕截图中缺少后退按钮标题(有延迟)。
这个问题困扰了我好几天。知道为什么会这样吗?有谁知道如何解决这一问题?或者至少,解决这个问题?
提前致谢。
最佳答案
这就是我过去所做的。您可能会发现它有帮助:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let myBackButton = UIBarButtonItem()
myBackButton.title = "This is my back button"
navigationItem.backBarButtonItem = myBackButton
}
关于ios - 连续推送 ViewController 时缺少导航或后退按钮的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33387260/