嵌套导航控制器和TabBar控制器
问题描述:
我有我的故事板是这样的:嵌套导航控制器和TabBar控制器
TabBarViewController
|-NavigationViewController
|-TableViewController
这有助于我必须在TableViewController同时导航栏和标签栏。
现在我想添加一个SecondViewController来显示在表中选择的项目的细节。所以我这样做:
TabBarViewController
|-NavigationViewController
|-TableViewController
|-SecondViewController
但SecondViewController不显示导航栏。所以,我想这一点:
TabBarViewController
|-NavigationViewController
|-TableViewController
|-NavigationViewController
|-SecondViewController
但仍处于SecondViewContrller没有导航栏。 我错过了什么?
答
我不完全确定你为什么需要像这样嵌套的导航控制器?
请参阅下面的我认为是您想要的故事板专用解决方案,或者您可以创建自定义委托来处理视图堆栈和导航树。
我在这里假设你的'SecondViewController'是各种细节视图?所以,像这样:
TabBarViewController
|-NavigationViewController
|-TableViewController (NavigationViewControllerDelegate)
|-DetailViewController (SecondViewController)
这里是故事板解决方案(无码):
- 添加
NavigationController
到故事板 - 将其嵌入到标签栏控制器(从菜单)
- 向Storyabord添加
TableViewController
- 向表格中的单元格添加按钮
- 添加标准d
ViewController
到故事板 - 的实现代码如下单元的按钮连接到新的视图控制器
- 添加另一个标准
ViewController
到故事板,并给它一个标签栏项目 - 链接标签栏控制器添加到该视图控制器
然后你最终的东西是这样的:
+0
你说得对。它确实有效。原来,我在'SecondViewController'上有一个'navigationbar',但它的背景和后面的箭头颜色都是白色的,因此它是不可见的。我在SecondViewController中改变了视图的背景颜色,现在我很好! – Kashif
您只需要一个NavigationViewController。你在使用segues吗?如果是这样,是否有一个连接TableViewController到SecondTableViewController的segue? – Jordan
是的,当我不使用第二个导航控制器时,我有一个从“TableViewController”到“SecondViewController”的“显示”segue。 – Kashif