UINavigationBar 标题不水平居中
UINavigationBar title NOT centered horizontally
我有一个故事板,上面有一个导航控制器和两个视图控制器,如下所示:
第一个 UIViewController 的 UINavigationBar 中文本的长度以某种方式(出于我想了解的原因)影响了第二个视图控制器的 UINavigationBar 中文本的居中。
为什么会发生这种情况,如何解决?
这是第一个视图控制器中文本长度较短的示例:
我所做的只是将 IB 中 UINavigationItem 中的文本从 "Privacy Privacy Privacy" 更改为 "Privacy"。
为什么会发生这种情况,解决方法是什么?可以不用代码在 IB 中解决这个问题吗?
因为在 secondViewController
中 back
按钮的标题将是 firstViewController
的标题。这就是为什么在第二个视图控制器中后退按钮标题变成 Privacy Privacy Privacy 这就是为什么它将主标题向右推一点。
您可以停止 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.
}
可以通过故事板实现,您可以通过为导航项设置后退按钮来实现。查看随附的屏幕截图。
我有一个故事板,上面有一个导航控制器和两个视图控制器,如下所示:
第一个 UIViewController 的 UINavigationBar 中文本的长度以某种方式(出于我想了解的原因)影响了第二个视图控制器的 UINavigationBar 中文本的居中。 为什么会发生这种情况,如何解决?
这是第一个视图控制器中文本长度较短的示例:
我所做的只是将 IB 中 UINavigationItem 中的文本从 "Privacy Privacy Privacy" 更改为 "Privacy"。
为什么会发生这种情况,解决方法是什么?可以不用代码在 IB 中解决这个问题吗?
因为在 secondViewController
中 back
按钮的标题将是 firstViewController
的标题。这就是为什么在第二个视图控制器中后退按钮标题变成 Privacy Privacy Privacy 这就是为什么它将主标题向右推一点。
您可以停止 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.
}
可以通过故事板实现,您可以通过为导航项设置后退按钮来实现。查看随附的屏幕截图。