Swift-如何在单个视图控制器中添加选项卡栏和导航栏?

26

请问如何在视图控制器中同时保持Tab Bar和Nav Bar的可见性?使用XCode,可以通过代码或故事板来实现。

非常感谢。


请提供您已经尝试过的内容,以便他人更好地帮助您。 - Cohan
2个回答

64
在你的Storyboard中,应该拖出一个Tab Bar Controller并将其用作初始视图控制器。然后,您应该嵌入每个连接到Tab Bar Controller的视图控制器内部的Navigation Controllers(编辑菜单:嵌入>导航控制器)。之后,您的Storyboard应该看起来像这样: enter image description here 选项卡栏控制器包含一个选项卡栏,并且将管理在其下方附加的其他视图之间进行切换,而导航控制器则将在每个选项卡顶部放置导航栏,并帮助您管理选项卡内的导航。

9
太棒了,非常感谢。 你无法想象找到这样一个简单而优雅的答案有多么困难。 - Woohoopy
那太完美了! - iGhost

11

屏幕截图

我猜您想要类似这样的效果。以下是我在界面构建器中的操作:

  1. 点击您的视图控制器。
  2. 编辑器 -> 嵌入式 -> 导航控制器
  3. 重新选择您的视图控制器。
  4. 编辑器 -> 嵌入式 -> 标签栏控制器
  5. 选择导航控制器。
  6. 勾选 Is Initial View Controller 旁边的框。

希望能对您有所帮助!


7
使用此方法,您可以为两个视图控制器使用相同的导航栏。 - pommes
3
如果你需要它们不同,我建议查看Ronald Martin的答案。在我创建的应用程序中,我的导航栏上有几个自定义属性很麻烦重新创建,而我发现只改变导航的标题更容易些。各有所好。 - 72A12F4E
有没有办法将标题设置为 NavigationItem? - Raymond Liao
我的应用程序从一个页面开始,然后推到选项卡控制器,所以我将其嵌入到第一页的导航栏中。但是当我在选项卡中单击转到另一页时,我看不到导航栏。 - Saeed Rahmatolahi
@72A12F4E 我该如何以编程方式实现这个? - N. Der

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接