2015-04-05 52 views
15

enter image description here我正在使用swift。 我想在StoryBoard中使用TabBar内的导航。 首先,第一个显示出现在标签菜单内。 但是,当我移动到第二个显示,第二个显示没有标签菜单显示。如何在Swift上使用Storyboard上的UITabBarController内部的导航控制器

我选择赛格瑞型“秀(e.g.Push)”

我怎样才能保持在所有视图显示选项卡菜单?

+0

当前的故事板的设置有一种更好的说明(或截图)将是有益的在这里。 – Stuart 2015-04-05 15:37:52

+0

如果您使用标签栏控制器,那么只需编辑器 - >嵌入 - >导航控制器。它会像你期待的那样工作。 – 2015-04-05 15:57:37

+0

您可以通过将视图层次保持为嵌入您的第一个TableViewController与导航控制器,然后再使用标签栏控制器嵌入您的导航控制器来实现。 。现在只需要用第二个TableView控制器就可以完成一些操作.... – 2015-04-05 16:01:42

回答

26

在界面生成器:

  1. 创建UITabBarController并将其设置为初始视图控制器。
  2. 创建一个UITableViewController
  3. 选择UITableViewController并转至menu bar > Editor > Embed in > Navigation Controller
  4. 选择您的UITabBarController,然后按CTRL并从中拖动到UINavigationController
  5. 选择Relationship Segue > view controllers
  6. 现在,您将添加到UINavigationController堆栈中的任何视图控制器将显示在相同的UITabBarController中。

要执行SEGUE先入堆栈连接到UINavigationControllerUITableViewController,另一个视图控制器必须的过程中先创建另一个视图控制器,在Interface Builder创建SEGUE吧,为你的赛格瑞的标识符和在你的代码通过调用雨燕,如适当的功能来执行它:

optional func performSegueWithIdentifier(_ identifier: String, 
            sender sender: AnyObject?) 

这里是你的Interface Builder中怎么可能看起来像一个示例: enter image description here

+1

如何让两个导航控制器在Interface Builder中保持一致?我可以设计一个,并以某种方式将该样式复制到另一个? – h3dkandi 2016-05-10 08:30:48

8

这里粗略地介绍了Storyboard的外观。您必须使用Tab Bar Controller作为rootViewController。

UITableViewController嵌入UINavigationController,以便您始终有一个后退按钮。

Storyboard design

有需要改进的无限可能,只要你遵循Combined View Controller Interfaces。这里有一个演示将会是什么样一个共同的标签,你想要的 -

enter image description here

相关问题