我想在导航控制器中安装一个TabBar控制器。因此,当在第一个导航控制器上选择一个项目时,它会将TabBar推入视图。第一个选项卡上的此标签栏内是另一个导航控制器。
但是我只想要一个导航栏。
我想出了两种方法,但不确定哪种方式更好(即更容易接受等)?
1)第一个导航控制器实际上不是导航控制器,但对于用户来说它看起来像一个。因此,当在它的表视图中选择一个单元格时,第一个navC的视图将从superview中删除,并且添加了TabBarC的视图,动画必须手动完成。
2)第一个NavC实际上是一个NavC,当一个项目被选中并且TabBar被推到屏幕上时,第一个NavC的导航栏被隐藏,这样第一个标签的navigationBar就是屏幕上唯一的导航栏。
答案 0 :(得分:1)
我不认为这是个好主意。框架不支持将标签栏控制器用作导航控制器中的根视图控制器。 (该句中有太多“控制者”)。
来自文档:
<强> initWithRootViewController:强>
初始化并返回新创建的导航控制器。
- (id)initWithRootViewController:(UIViewController *)rootViewController
<强>参数强>
rootViewController
位于导航堆栈底部的视图控制器。 此对象不能是UITabBarController类的实例。
(斜体强调我的)