UINavigationBar标题不水平居中

问题描述 投票:0回答:2

我有一个故事板,导航控制器和两个视图控制器堆叠在它上面:enter image description here

不知怎的(并且由于我想理解的原因)第一个UIViewController的UINavigationBar中文本的长度正在影响第二个View Controller的UINavigationBar中文本的居中。为什么会发生这种情况以及如何解决?

以下是第一个视图控制器中文本长度较短的示例:

enter image description here

我所做的只是将文本从“隐私隐私隐私”更改为IB中的UINavigationItem中的“隐私”。

为什么会发生这种情况?解决方法是什么?这可以在没有代码的IB中修复吗?

ios uinavigationcontroller uinavigationbar uinavigationitem uinavigation
2个回答
2
投票

通过故事板,您可以通过设置导航项的后退按钮来实现。查看附带的屏幕截图。

Screenshot


2
投票

因为在secondViewControllerback按钮的标题将是firstViewController的标题。这就是为什么在第二视图控制器中后退按钮标题成为隐私隐私隐私,这就是为什么它推动主要标题有点右侧。

您可以通过在secondViewController中编写此代码来阻止您的backButtonsecondViewController标题设置为之前的屏幕标题。

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.
    }
© www.soinside.com 2019 - 2024. All rights reserved.