UITabBarController导航控制器控制器关系

Posted xujinzhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UITabBarController导航控制器控制器关系相关的知识,希望对你有一定的参考价值。

UITabBarController与UINavigationController类似,UITabBarController也可以用来控制多个页面导航,用户可以在多个视图控制器之间移动,并可以定制屏幕底部的选项卡栏。


借助屏幕底部的选项卡栏,UITabBarController不必像UINavigationController那样以栈的方式推入和推出视图,而是组建一系列的控制器 ( 他们各自可以是UIViewController,UINavigationController,UITableViewController或任何其他种类的视图控制器),并将它们添加到选项卡栏,使每个选项卡对应一个视图控制器。


UITabBarController一般作为应用程序的rootViewController,而且它不能作为UINavigationController的rootViewController.


UITabBarController详解:https://my.oschina.net/CarlHuang/blog/159995

 

具体图片解释如下:

 

 

 

1、UINavigationController 也是一个控制器,但是他控制的对象不是view了,而是通过控制UIViewController来间接控制view,达到各个 UIViewController 之间的链接,切换业务逻辑关系。实际是个容器,存放了所有的UIViewController。


2、UIViewController 是一个UIView 控制器,在loadview 中加载view ,对UIView 进行加载,显示,消除,动画,直接操作。实际是个容器,存放了所有的UIView。


3、就好比UIView 是我们程序员,技术主管是 UIViewController,那么经理就是UINavigationController。


总结:可能是苹果当初设计这个的思想。

 

以上是关于UITabBarController导航控制器控制器关系的主要内容,如果未能解决你的问题,请参考以下文章

从嵌套在 UITabBarController 中的导航控制器推送视图控制器?

UITabBarController 内视图控制器的不同导航栏按钮/标题

为 UITabBarController 子视图控制器设置相同的导航栏?

UITabBarController 的子视图控制器中的导航栏按钮无响应

在带有分段控件的 UITabBarController 中模态显示导航视图控制器

如何从 UITabBarController 页面导航到具有 PUSH 样式的另一个视图控制器