设置导航项目标题问题..为什么我的导航项目看起来很多?

时间:2017-09-13 02:53:08

标签: ios iphone swift uinavigationbar uinavigationitem

我想更改导航栏的标题,但似乎有点混乱.. 我做了self.navigationItem.title = "ipsum"self.navigationController?.navigationBar.topItem?.title = "ipsum"等等......但它失败了..

尝试self.title = "ipsum"时只会更改标题,但这不是我想要的,因为它会导致tabBarItem的标题也发生变化。

我试过调试,发现了奇怪的结果。

enter image description here

如上图所示..似乎有两个以上的navigationBar,所以当self.navigationItem.title = "ipsum"它实际上改变了一些其他或不可见的navigationItem的标题时,我可以从日志中看到。

但用户界面保持" lorem"。告诉我你是否想出了什么!我错过了什么?

编辑1:

Main.storyboard enter image description here

Menu.storyboard enter image description here

我将NavigationController放在TabBarController中,并将NavigationController重构为另一个故事板引用。

在viewDidLoad()函数中调用

self.navigationItem.title = "ipsum"

3 个答案:

答案 0 :(得分:1)

现在View控制器是:

附加到item1的ViewController1:

override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationItem.title="View1"

    }

附加到item2的ViewController2:

override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationItem.title="View2"

    }

enter image description here

结果:

enter image description here

enter image description here

答案 1 :(得分:0)

我使用了self.navigationItem.title="????"。它对我有用:)

答案 2 :(得分:0)

你应该总是使用

navigationItem.title = ""

因为每个控制器都有自己的navigationItem,如果你想设置这样的标题 - self.navigationController?.navigationItem.title你可能把它设置到错误的位置。