不知怎的(并且由于我想理解的原因)第一个UIViewController的UINavigationBar中文本的长度正在影响第二个View Controller的UINavigationBar中文本的居中。为什么会发生这种情况以及如何解决?
以下是第一个视图控制器中文本长度较短的示例:
我所做的只是将文本从“隐私隐私隐私”更改为IB中的UINavigationItem中的“隐私”。
为什么会发生这种情况?解决方法是什么?这可以在没有代码的IB中修复吗?
因为在secondViewController
,back
按钮的标题将是firstViewController
的标题。这就是为什么在第二视图控制器中后退按钮标题成为隐私隐私隐私,这就是为什么它推动主要标题有点右侧。
您可以通过在secondViewController
中编写此代码来阻止您的backButton
将secondViewController
标题设置为之前的屏幕标题。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "back", style: .plain, target: self, action: #selector(didTapBackButton))
}
@objc func didTapBackButton() {
//Do what ever you want to do when tap on back button of UINavigationBar here.
}