我们已经遇到了相同的问题,其中UINavigationController
返回nil
,但它们都与segues相关,例如this但我的问题有点不同:
在我的TableViewController中,我嵌入了一个UINavigationController
,并从我的tableView中打开另一个ViewController(在此viewController中,navigationController
为零)
奇怪的是,如果我选择 tableView 的第一行或最后一行,一切正常(navigationController 不返回 nil),但是当我选择任何其他行时,它返回 nil
我在ViewWillAppear
和ScrollViewDidScroll
中使用navigationBar:
override func viewWillAppear(animated: Bool) {
hairLine.hidden = true
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true
self.navigationController?.view.backgroundColor = UIColor.clearColor()
self.navigationController?.navigationBar.backgroundColor = UIColor.clearColor()
self.navigationController?.navigationBar.tintColor = UIColor.blackColor()
}
有人知道这里出了什么问题吗?
最佳答案
我认为您已经直接从原型(prototype)单元而不是 View Controller 加入了segue。连接 Controller 与 Controller 之间的连接,而不是从任何 UI 组件连接。覆盖 prepareForSegue
方法。
关于ios - UINavigationController 返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38497247/