0

我有我的故事板是这样的:嵌套导航控制器和TabBar控制器

TabBarViewController 
|-NavigationViewController 
    |-TableViewController 

这有助于我必须在TableViewController同时导航栏和标签栏。

现在我想添加一个SecondViewController来显示在表中选择的项目的细节。所以我这样做:

TabBarViewController 
|-NavigationViewController 
    |-TableViewController 
    |-SecondViewController 

但SecondViewController不显示导航栏。所以,我想这一点:

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

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

+0

您只需要一个NavigationViewController。你在使用segues吗?如果是这样,是否有一个连接TableViewController到SecondTableViewController的segue? – Jordan

+0

是的,当我不使用第二个导航控制器时,我有一个从“TableViewController”到“SecondViewController”的“显示”segue。 – Kashif

回答

1

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

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

我在这里假设你的'SecondViewController'是各种细节视图?所以,像这样:

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

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

  1. 添加NavigationController到故事板
  2. 将其嵌入到标签栏控制器(从菜单)
  3. 向Storyabord添加TableViewController
  4. 向表格中的单元格添加按钮
  5. 添加标准d ViewController到故事板
  6. 的实现代码如下单元的按钮连接到新的视图控制器
  7. 添加另一个标准ViewController到故事板,并给它一个标签栏项目
  8. 链接标签栏控制器添加到该视图控制器

然后你最终的东西是这样的:

+0

你说得对。它确实有效。原来,我在'SecondViewController'上有一个'navigationbar',但它的背景和后面的箭头颜色都是白色的,因此它是不可见的。我在SecondViewController中改变了视图的背景颜色,现在我很好! – Kashif