多控制器
2015-09-25 17:36
411 查看
UINavigationController
设置:UIWindow的rootViewController为UINavigationController
根据情况 通过push方法添加对应个数的子控制器
以栈的形式保存子控制器
@property(nonatomic,copy)
NSArray *viewControllers;
@property(nonatomic,readonly)
NSArray *childViewControllers;
使用push方法将某个控制器压入栈
- (void)pushViewController:(UIViewController
*)viewController animated:(BOOL)animated;
三种方法添加控制器: nav:导航控制器 one:子控制器
[nav
addChildViewController:one];
[nav
pushViewController:one
animated:YES]; // 详解如上
nav.viewControllers =
@[one];
使用pop方法可以移除控制器
将栈顶的控制器移除
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
回到指定的子控制器
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
回到根控制器(栈底控制器)
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
修改 导航栏的属性 在各自的控制器里 修改该控制器显示的状态栏
分为:
标题文字 : self.navigationItem.title
=
@"第一页~";
标题view : self.navigationItem.titleView
= [UIButton
buttonWithType:UIButtonTypeContactAdd];
左右的按钮 左边一遍不用 因为有返回
单个按钮 :
self.navigationItem.rightBarButtonItem
= [[UIBarButtonItem
alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemCamera
target:nil
action:nil];
一组按钮 :
UIBarButtonItem *item1 = [[UIBarButtonItem
alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFastForward
target:nil
action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem
alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemOrganize
target:nil
action:nil];
self.navigationItem.rightBarButtonItems =
@[item1 , item2];
上述是代码创建的~ 但是一般用storyboard 简单
控制器的生命周期:
设置:UIWindow的rootViewController为UINavigationController
根据情况 通过push方法添加对应个数的子控制器
以栈的形式保存子控制器
@property(nonatomic,copy)
NSArray *viewControllers;
@property(nonatomic,readonly)
NSArray *childViewControllers;
使用push方法将某个控制器压入栈
- (void)pushViewController:(UIViewController
*)viewController animated:(BOOL)animated;
三种方法添加控制器: nav:导航控制器 one:子控制器
[nav
addChildViewController:one];
[nav
pushViewController:one
animated:YES]; // 详解如上
nav.viewControllers =
@[one];
使用pop方法可以移除控制器
将栈顶的控制器移除
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;
回到指定的子控制器
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
回到根控制器(栈底控制器)
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
修改 导航栏的属性 在各自的控制器里 修改该控制器显示的状态栏
分为:
标题文字 : self.navigationItem.title
=
@"第一页~";
标题view : self.navigationItem.titleView
= [UIButton
buttonWithType:UIButtonTypeContactAdd];
左右的按钮 左边一遍不用 因为有返回
单个按钮 :
self.navigationItem.rightBarButtonItem
= [[UIBarButtonItem
alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemCamera
target:nil
action:nil];
一组按钮 :
UIBarButtonItem *item1 = [[UIBarButtonItem
alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFastForward
target:nil
action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem
alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemOrganize
target:nil
action:nil];
self.navigationItem.rightBarButtonItems =
@[item1 , item2];
上述是代码创建的~ 但是一般用storyboard 简单
控制器的生命周期:
相关文章推荐
- UINavigationController
- UINavigationControll采用pushViewController后如何去掉左边的返回按钮
- UINavgationBar之UIBarButtonItem
- iOS开发中遇到的一些问题以及解决办法总结
- UI_NavigationController
- UINavigationController使用简介
- OC笔记 - 控制器管理、UINavigationController、segue、控制器的数据传递(2015.3.16)
- NavigationController单个界面横屏,其他全竖屏
- 控制器跳转
- IOS UINavigationController 中添加UITabBarItem
- 重写导航控制器,利用重写pop和push方法来隐藏底层的tabbar和其他一些事件
- 解决UINavigationController自定义返回键后没有侧滑返回效果的问题
- iOS开发系列--视图切换
- UINavigationController 改变返回按钮标题
- iOS开发——导航控制器
- UINavigationController 导航控制器
- UINavigationController使用
- iOS UINavigationController跳转到指定页面
- iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
- iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController