【问题标题】:UINavigationController's children views don't have UINavigationItem to set the titleUINavigationController 的子视图没有 UINavigationItem 来设置标题
【发布时间】:2019-08-03 22:11:18
【问题描述】:

我有一个UINavigationController 实现了那种弹出/推送功能。但是,在子视图上,我无法设置导航栏的标题,而只能在第一个视图上设置:

在上面看到的“Buzzy”页面上,当我选择导航栏时,实用程序选项卡显示它是UINavigationItem,我可以编辑它的标题。但是,在其中一个子视图上,例如带有“可点击区域”的子视图,无法选择导航栏,也无法添加标题。

如何也为子视图添加标题?

【问题讨论】:

  • 把这个放在 viewDidLoad 里面:self.title = "Your Title"

标签: swift uinavigationcontroller storyboard


【解决方案1】:

将导航项对象从对象面板 (cmd-shift-L) 拖到视图控制器上并选择它。

您现在应该可以设置标题、添加 UIBarButtonItems 等了。

【讨论】:

    【解决方案2】:

    试试 self.navigationItem.title = "Your title"

    【讨论】:

      【解决方案3】:

      通常这是在视图控制器上加载的视图中完成的:

      override func viewDidLoad() { super.viewDidLoad() self.title = "some title" }

      但是,这仅在您将视图控制器嵌入 UINavigationController 时才有效。我强烈建议这样做,而不是自己创建导航栏。如果您坚持自己创建导航栏,您可以通过以下方式更改标题:

      navigationBar.topItem.title = "some title"

      【讨论】:

      • 我的所有视图控制器都使用同一个类。它会改变所有人的标题吗?
      • 你试过了吗?
      猜你喜欢
      • 2011-03-08
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      相关资源
      最近更新 更多