首页 > 代码库 > 多控制器
多控制器
在ios当中提供了两个比较特殊的控制器.是专门给我们用来管理控制器用的.
1.UINavigationController.
2.UITabBarController.
1.UINavigationController.(导航控制器)
系统的设置界面就是一个典型的导航控制器.只要看到上部有一个条, 就是一个导航控制器.
在多控制器开发当中, 第一个界面都是一个控制器.导航控制器可以轻松的完成控制器之间的切换.
2.导航控制器的View的结构.
导航控制器它是一个控制器,它肯定有一个自己的View.
导航控制器标志, 就是上面一个条.这个条, 我们叫它导航条.这个导航条它是显示到导航控制器View的上面.
导航条的Y值是20的位置开始显示,上面20是状态栏的2位置.导航条的高度是44.
导航控制器的View当中,还有一个转门存放子控制器的View.
导航控制器的View上面有两层:最外面那一层是一个导航条,导航条下面是一个存放子控制器的View.
导航条的Y值是20,高度是44,但是我们看到的导航条有一个半透明的效果,它是从0位置开始的.
它其实是导航条内部的一个子控件,它超过了导航条的高度,子控件超过父控件也是能够显示的.
3.导航控制器的使用:
1.初始化UINavigationController
2.设置UIWindow的rootViewController为UINavigationController
3.根据具体情况,通过push方法添加对应个数的子控制器
可以通过push方法给导航控制器添加子控制器.
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
导航控制器会把子控制器的View添加到导航控制器专门存放子控制器的View上面.
导航控制器的initWithRootViewContorller:设置导航控制器的根控制器.
它其实底层调用的就是导航控制器的push方法,把传入的控制器子,添加为导航控制器的子控制器.
注意:导航控制器必须要有一个根控制器.
导航控制器的根控制器.就是导航控制器的子控制器.
导航控制器当中有一个childsViewControllers数组,数组当中存放的都是导航控制器的子控制器.
多控制器