【问题标题】:UINavigationBar title NOT centered horizontallyUINavigationBar 标题未水平居中
【发布时间】:2018-10-10 20:39:38
【问题描述】:

我有一个故事板,上面有一个导航控制器和两个视图控制器,如下所示:

不知何故(出于我想了解的原因)第一个 UIViewController 的 UINavigationBar 中的文本长度影响了第二个视图控制器的 UINavigationBar 中文本的居中。 为什么会发生这种情况以及如何解决?

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

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

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

【问题讨论】:

    标签: ios uinavigationbar uinavigationitem uinavigationcontroller


    【解决方案1】:

    可以通过情节提要,您可以通过为导航项设置后退按钮来实现。检查随附的屏幕截图。

    【讨论】:

    • 很酷,但是如果我不想要后退按钮怎么办?
    • 你想要没有后退按钮,或者没有文字的后退按钮?
    • 请不要有文字的后退按钮
    • 添加一个空格而不是后面的单词
    【解决方案2】:

    因为在secondViewControllerback 按钮的标题将是firstViewController 的标题。这就是为什么在第二个视图控制器中后退按钮标题变为 Privacy Privacy Privacy 这就是为什么它将主标题推到右侧一点。

    您可以通过在您的secondViewController 中写入此代码来停止您的secondViewController 以将backButton 标题设置为上一个屏幕标题。

    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.
        }
    

    【讨论】:

      猜你喜欢
      • 2014-05-27
      • 1970-01-01
      • 2013-03-02
      • 2021-02-26
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      相关资源
      最近更新 更多