我想在导航控制器(顶部蓝色导航栏)下有一个视图(层次结构),它有一个TabBar(底部的黑色),以显示同一级别的其他视图(每个用于制表符) 。
如果选择其中一个视图(黑色标签栏),则应始终显示TabBar以跳转到同一级别的另一个视图。如果你想回到上层的水平,你必须选择顶部栏中的“后退”导航按钮(蓝色),“标签栏”应该消失。
为什么Apple建议(在我看来)要避免这种情况?
我引用了“适用于iPhone OS的View Controller编程指南”第39页所写的内容:
组合标签栏和导航控制器非常常见,如图4所示。为此,您只需将导航控制器添加到标签栏控制器(但是,您绝不应该将标签栏控制器添加到标签栏控制器中导航控制器)。
相反,我会在“导航栏”(经理)
下添加“标签栏”我认为错了吗?
感谢您的帮助!
的Dario
答案 0 :(得分:3)
他们的意思是标签栏永远不应该是导航视图的子项。标签栏实际上是为了定义应用程序的不同“模式”,而导航控制器则用于显示分层数据。
如果你想在导航控制器中使用某种模式,我认为往往会使用工具栏。例如,邮件应用程序底部的工具栏。
答案 1 :(得分:2)
根据我在几个论坛和文档中挖掘的内容,以下内容是正确的:
Tab Bar Controller > Navigation Controller > View
您只需使用界面构建器,然后将TabBarItems,NavigationItems和Controllers绑定到代码中的出口即可。
一些文件样本:
Building an iPhone App Combining Tab Bar, Navigation and Tab (YouTube)
iphonedevsdk (Forum)
Add NavigationController to TabBarController (Forum Tutorial)
答案 2 :(得分:0)
他们的意思是导航控制器永远不应该被推到标签栏视图控制器,因为它不能支持它,但是tabbarviewcontroller可以支持导航视图控制器,所以你可以这样做。您也可以只将一个标签栏添加到导航视图控制器视图(而不是导航堆栈),并让导航视图管理标签栏而不是UITabBarViewController。