UINavigationController

本文讨论了在iOS应用开发中如何使用UINavigationController的setViewControllers方法来调整控制器顺序,以改善用户在列表界面操作后的返回路径体验,避免出现逐级弹出的情况。

title: UINavigationController 相关知识
date: 2016-1-23 15:07
categories: IOS

tags: UINavigationController

小小程序猿
我的博客:http://daycoding.com

UINavigationController 调整controller的顺序

业务场景:

有时候我们需要调整UINavigationController中controller的顺序,但是单独靠
objc
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
- (nullable UIViewController *)popViewControllerAnimated:(BOOL)animated

并不能满足我们的需要。

比如:在一个列表界面,创建新信息进入编辑界面,成功后在进入展示界面,这时如果我们通过popController方法返回的到列表界面,就会一级一级弹出,会在弹出编辑界面之后才返回到列表界面,影响用户体验。

解决方案:

使用NavigationControllersetViewControllers方法来调整controller的顺序

NSMutableArray * viewControllers = [self.navigationController.viewControllers mutableCopy];
                    [viewControllers removeLastObject];
                    [viewControllers addObject:controller];
                    [self.navigationController setViewControllers:viewControllers animated:YES];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值