设置导航项标题问题.. 为什么我的导航项看起来很多?
Setting navigation item title issue.. why my navigation item seems many?
我想更改导航栏的标题,但似乎有点混乱..
我做了 self.navigationItem.title = "ipsum"
或 self.navigationController?.navigationBar.topItem?.title = "ipsum"
等等..但它失败了..
只有在尝试 self.title = "ipsum"
时才成功更改标题,但这不是我想要的,因为它会导致 tabBarItem 的标题也发生更改。
我试过调试,结果很奇怪。
如上图所示.. 似乎有两个以上的 navigationBar 所以当 self.navigationItem.title = "ipsum"
它实际上改变了一些其他或不可见的 navigationItem 的标题,以便我可以从日志中看到。
但是 UI 仍然是“lorem”。如果你想通了,请告诉我!我错过了什么?
编辑 1:
Main.storyboard
Menu.storyboard
我将 NavigationController 放入 TabBarController 并将 NavigationController 重构为另一个故事板引用。
self.navigationItem.title = "ipsum"
在viewDidLoad()函数中被调用
我用了self.navigationItem.title="????"
。它对我有用:)
现在视图控制器是:
附加到 item1 的 ViewController1:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title="View1"
}
附加到 item2 的 ViewController2:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title="View2"
}
结果:
您应该始终只使用
navigationItem.title = ""
因为每个控制器都有自己的 navigationItem,如果您尝试这样设置标题 - self.navigationController?.navigationItem.title 您可能将其设置到错误的位置。
我想更改导航栏的标题,但似乎有点混乱..
我做了 self.navigationItem.title = "ipsum"
或 self.navigationController?.navigationBar.topItem?.title = "ipsum"
等等..但它失败了..
只有在尝试 self.title = "ipsum"
时才成功更改标题,但这不是我想要的,因为它会导致 tabBarItem 的标题也发生更改。
我试过调试,结果很奇怪。
如上图所示.. 似乎有两个以上的 navigationBar 所以当 self.navigationItem.title = "ipsum"
它实际上改变了一些其他或不可见的 navigationItem 的标题,以便我可以从日志中看到。
但是 UI 仍然是“lorem”。如果你想通了,请告诉我!我错过了什么?
编辑 1:
Main.storyboard
Menu.storyboard
我将 NavigationController 放入 TabBarController 并将 NavigationController 重构为另一个故事板引用。
self.navigationItem.title = "ipsum"
在viewDidLoad()函数中被调用
我用了self.navigationItem.title="????"
。它对我有用:)
现在视图控制器是:
附加到 item1 的 ViewController1:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title="View1"
}
附加到 item2 的 ViewController2:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.title="View2"
}
结果:
您应该始终只使用
navigationItem.title = ""
因为每个控制器都有自己的 navigationItem,如果您尝试这样设置标题 - self.navigationController?.navigationItem.title 您可能将其设置到错误的位置。