多控制器的管理
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;