欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

UITabBarController、导航控制器、控制器关系

程序员文章站 2022-04-11 22:19:20
UITabBarController与UINavigationController类似,UITabBarController也可以用来控制多个页面导航,用户可以在多个视图控制器之间移动,并可以定制屏幕底部的选项卡栏。借助屏幕底部的选项卡栏,UITabBarController不必像UINavigat ......

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


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


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


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

 

具体图片解释如下:

 

UITabBarController、导航控制器、控制器关系 

 

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


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


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


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