嵌套导航控制器和TabBar控制器

时间:2017-10-12 18:55:38

标签: swift xcode uinavigationcontroller uitabbarcontroller uinavigationbar

我的故事板是这样的:

TabBarViewController
|-NavigationViewController
  |-TableViewController

这有助于我在TableViewController中同时拥有一个导航栏和标签栏。

现在我正在尝试添加SecondViewController以显示表中所选项目的详细信息。所以我这样做了:

TabBarViewController
|-NavigationViewController
  |-TableViewController
    |-SecondViewController

但是SecondViewController没有显示导航栏。所以我尝试了这个:

TabBarViewController
|-NavigationViewController
  |-TableViewController
    |-NavigationViewController
      |-SecondViewController

但SecondViewContrller中仍然没有导航栏。 我错过了什么?

1 个答案:

答案 0 :(得分:1)

我不完全确定你为什么需要像这样的嵌套式导航控制器?

请参阅下面的故事板解决方案,我认为这是您想要的,或者您可以创建自定义委托来处理视图堆栈和导航树。

我假设你的'SecondViewController'是一个详细的视图?所以,像:

TabBarViewController
|-NavigationViewController
  |-TableViewController (NavigationViewControllerDelegate)
    |-DetailViewController (SecondViewController)

这是故事板解决方案(无代码):

  1. NavigationController添加到故事板
  2. 将其嵌入标签栏控制器(从菜单中)
  3. TableViewController添加到Storyabord
  4. 向tableview中的单元格添加按钮
  5. 将标准ViewController添加到故事板
  6. 将tableview单元格的按钮连接到新视图控制器
  7. 向故事板添加另一个标准ViewController,并为其指定一个标签栏项
  8. 将标签栏控制器链接到此视图控制器
  9. 然后你最终得到这样的东西: