如何在 NavigationController 之后的 TabBar-connected ViewController 中显示 navigationItem.title

How to display navigationItem.title in a TabBar-connected ViewController after NavigationController

抱歉,标题令人困惑。我的设置很简单,如下所示:

`Navigation Controller -> View Controller1 -> Tab Bar Controller -> View Controller2
                                                                 -> View Controller3`

有一个show-segue,由ViewController1中的BarButtonItem触发,指向TabBarController。对于视图控制器 2 和 3(连接到选项卡栏控制器),我配置了标题并在右上角添加了一个 BarButtonItem。就这样。当我运行 App时,标题和VC2&3的按钮不显示,即使我直接在.swift-Class中设置标题: (self.navigationItem.title = "title of ViewController2")

相反,模拟器显示 header 在 VC2&3 中只有一个“<返回”按钮。

我想要的是'<返回'按钮+我的标题和右边的BarButtonItem。很抱歉问了这么一个微不足道的问题,但我就是找不到解决办法。

我正在使用 Swift 2.1,Xcode 7.1,OS X 10.11.1 谢谢!

Storyboard-Screenshot

所以,我终于找到了适合我的案例的解决方案。 ViewController1 可以在 prepareForSegue-method 中发送 VC2&3 的标题,例如:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let vc = segue.destinationViewController.navigationItem.title = "new title"
}

或者更好的解决方案:ViewController2 设置自己的标题。

class ViewController2: UIViewController {
    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)

        navigationController?.visibleViewController?.navigationItem.title = "new title"
    }
}