我们已经有UINavigationController
返回nil
的相同问题,但它们都与像this这样的segues有关,但我的问题有点不同:
在我的TableViewController中我嵌入了UINavigationController
并从我的tableView中打开另一个ViewController(在此viewController navigationController
中为nil)
奇怪的是,如果我选择我的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()
}
有人知道这里有什么不对吗?
答案 0 :(得分:2)
我认为你已经直接从原型单元而不是viewcontroller加入了segue。在控制器和控制器之间加入segue,而不是从任何UI组件加入。覆盖prepareForSegue
方法。