UINavigationController返回nil

时间:2016-07-21 07:06:15

标签: ios uinavigationcontroller swift2 uistoryboardsegue

我们已经有UINavigationController返回nil的相同问题,但它们都与像this这样的segues有关,但我的问题有点不同:

在我的TableViewController中我嵌入了UINavigationController并从我的tableView中打开另一个ViewController(在此viewController navigationController中为nil)

我的故事板: enter image description here

奇怪的是,如果我选择我的tableView的第一行或最后一行一切正常(navigationController不返回nil)但是当我选择任何其他行时它返回nil

我在ViewWillAppearScrollViewDidScroll使用了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()

}

有人知道这里有什么不对吗?

1 个答案:

答案 0 :(得分:2)

我认为你已经直接从原型单元而不是viewcontroller加入了segue。在控制器和控制器之间加入segue,而不是从任何UI组件加入。覆盖prepareForSegue方法。