#10多控制器#

01-多控制器

在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数组,数组当中存放的都是导航控制器的子控制器.

你可能感兴趣的:(#10多控制器#)