首页 > 代码库 > 多控制器的管理

多控制器的管理

1、往往一个项目中会出现多个控制器,iOS中提供了两个比较特殊的控制器:UINavigationController 和 UITabBarController

2、UINavigationController的简单使用步骤:

     (1)初始化UINavigationController

       (2) 设置UIWindow的rootViewController为 UINavigationController

      (3)根据具体情况,通过push方法添加子控制器:

             ①使用push方法将控制器压入栈:

                -(void)pushViewController:(UIViewController *) viewController  animated:(BOOL)animated;

             ②使用pop移除控制器:

                >将栈顶的控制器移除

                -(UIViewController *)popViewControllerAnimated:(BOOL)animated;

                >回到指定控制器

                -(NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

                >回到根控制器

                -(NSArray *)popToRootViewControllerAnimated:(BOOL)animated;

               导航栏上的内容由栈顶控制器的NavigationItem属性决定

3、UITabBarController的简单使用步骤:

     (1)初始化UITabBarController

       (2) 设置UIWindow的rootViewController为 UITabBarController

      (3) 根据具体情况,通过addChildViewController方法添加子控制器:

            ①添加控制器方式:

               >添加单个子控制器

                 -(void)addChildViewController:(UIViewController *)childController;

               >设置子控制器数组

                 @property(nonatomic,copy)NSArray * viewControllers;

4、APP主流UI框架

   

5、Modal控制器跳转方式

     Modal的默认效果:从控制器底部往上覆盖,直到盖住原来的控制器

     (1)展示控制器

           -(void)presentViewController:(UIViewController *)viewControllerToPresent  animated:(BOOL)flag  completion:(void(^)(void))completion;

      (2) 关闭Modal出来的控制器

          -(void)dismissViewControllerAnimated:(BOOL)flag  completion:(void(^)(void))completion;