每个视图中的UINavigationBar

时间:2014-06-12 11:41:19

标签: ios objective-c uitabbarcontroller uinavigationbar

在我的iOS应用程序中,我有一个UITabBarController。在TabBar内部的每个视图的顶部我想要一个带标题的NavigationBar。我不想使用这个NavigationBar在视图之间导航,我只想用它来显示视图的标题。

在我看来,将NavigationBar放入每个视图并不是一个好主意。此NavigationBar应位于根视图中 - TabBarController的视图。但是如果我把它放到根视图中,则子视图会将根视图与不可见的NavigationBar重叠。

你能告诉我应该如何解决这个问题吗?感谢。

3 个答案:

答案 0 :(得分:3)

将ViewController嵌入UINavigationController。通过这样做,您将在View Controller中获得一个导航栏,您可以在那里设置标题。要嵌入,请按照以下步骤操作。

  1. storyboard中,单击“查看控制器”,以便在其上显示蓝色边框。
  2. 之后,转到菜单栏中的编辑菜单,然后单击嵌入。
  3. 点击导航控制器。
  4. 在这里,如果当前您的View控制器嵌入在UITabBarController中,那么也可以。只需按照这些步骤操作,您就会看到导航栏以及底部的标签栏菜单。

    希望这有帮助。

答案 1 :(得分:1)

  

在我看来,将NavigationBar放入每个视图并不是一个好主意。

我不同意。您可以在多个视图中使用导航栏,特别是如果您希望在每个视图中使用不同的导航栏按钮。

Screenshot from Xcode
如果这是一个糟糕的编码实践,Apple将不会在Xcode中包含没有控制器的栏。例如,它们不包括汉堡包导航控制器,因为它的设计理念不好。

答案 2 :(得分:1)

隐藏导航栏:

[[self navigationController] setNavigationBarHidden:YES animated:YES];

要表明:

[[self navigationController] setNavigationBarHidden:NO animated:YES];