UINavigationController

本文深入探讨了iOS应用中导航控制器的使用方法,包括初始化、添加子控制器、手动出栈以及通过Storyboard创建控制器等核心内容。同时,阐述了如何在导航栏中设置内容和返回键,提供了一个全面的操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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方法。



  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值