【问题标题】:How do I prevent UITabBarItem's title from being overwritten by the controller title?如何防止 UITabBarItem 的标题被控制器标题覆盖?
【发布时间】:2017-10-10 08:10:56
【问题描述】:

如果我在情节提要或代码中设置标签栏项目标题(见下文),当我点击标签并加载控制器时,它会更改为该标签的视图控制器标题。我不想要这个。

我希望保留在情节提要或代码中设置的标签栏项目标题,而不会被更改。我该如何实现?

我仍然想为 UINavigationController 设置控制器标题以显示在后退按钮等上。

override func viewDidLoad() {
    super.viewDidLoad()

    tabBarItem.title = "Keep me"

    // But this overrides it, which I don't want.
    title = "Don't let me change the tab bar title"
}

【问题讨论】:

标签: ios swift


【解决方案1】:

你可以改变

title = "Don't let me change the tab bar title"

navigationItem.title = "Don't let me change the tab bar title"

编辑:

override var title: String? {
    didSet{
        tabBarItem.title = "you want"
    }
}

【讨论】:

  • 非常感谢。这是一个简化的示例——在现实生活中,该选项卡下的视图控制器使用 [Turbolinks](github.com/turbolinks/turbolinks-ios) 来设置标题。但我想我们可以调整 Turbolinks 并确保它只设置 navigationItem 标题。
  • @HenrikN 好吧,您可以覆盖视图控制器的 title 属性,并将 tabBarItem.title 设置为您想要的 didSet
  • 根据这个答案,我们最终覆盖了 Turbolinks 以分配 navigationItem。谢谢! github.com/turbolinks/turbolinks-ios/issues/…
猜你喜欢
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-12
  • 2019-09-25
  • 1970-01-01
相关资源
最近更新 更多