UINavigationController

1>使用步骤
1,初始化UINavigationController
2,设置UIWindow的rootViewController(根控制器)为UINavigationController(导航控制器)
3,根据具体情况,通过push方法添加对应个数的子控制器

2>
1,添加子控件 [导航控制器名  pushViewController:子控件名 animated : YES ];
2,导航控制器发现栈顶多了东西,便会创建他的view。显示在导航控制器上面的永远是栈顶控制器的view。
3,点击Back后,栈顶的控制器被销毁,对应的view也就销毁,此时导航显示的是新的栈顶控制器的view。

3>
导航控制器用来存放子控制器的栈:childViewControllers 和 viewControllers (两个数组)
因此也可以这样添加子控制器:
[nav addChildViewController :one];
或者往数组里加  nav. viewControllers = @[ one ] ; (childViewControllers只读,不可以)

4》关于手动出栈
1, // 把当前栈顶控制器销毁
    [self.navigationController popViewControllerAnimated:YES];
2, // 把栈里所有控制器销毁,只留根控制器
    [self.navigationController popToRootViewControllerAnimated:YES];
3, // 回到指定控制器
   [self.navigationController  popToViewController:one animated:YES];

5>
1,一个导航控制器就一个导航条
2,导航栏上面显示什么内容由栈顶控制器的navigationItem属性决定。
在当前栈顶控制器的viewDidLoad里设置。
3,self.navigationItem.left/right/title/titleView
4,左上角返回键的内容由上一个控制器决定

   
// 修改 返回键 的内容
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@" 返回 " style : UIBarButtonItemStyleDone target : nil action : nil ];

6》通过stroyboard创建控制器
1,脱线不能往回拖,不是返回,而是创建一个新的控制器,不利于内存,打乱顺序。
真的需要返回,用pop方法。



  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值