多控制器

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 简单

控制器的生命周期:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值