iOS有关pop到self.navigationController.viewControllers以外的界面
来源:互联网 发布:新手学cnc编程要学多久 编辑:程序博客网 时间:2024/05/22 20:28
今天在编写项目时,遇到一个难题,就是pop出栈的问题,现在的场景是这样:如图 ↓ ,而遇到的问题则是当返回到商品详情/订单详情是,固定死的返回到对应额商品包/订单列表页面,那么,如果是从商品包点击push压栈到支付成功页面,那么点击完成是要跳到订单详情页面,而在订单详情页面中点击左上角的返回要返回至订单列表,那么,用之前发表过的pop出栈,则不可用了,因为从我的首页到购买成功,压栈的栈数组中,并没有包含订单详情页面,也就是说此类问题就是pop到界面栈数组以外的界面中去,如何实现。
遇到这种问题,因为考虑到都是从我的首页进入,那么只需要在订单列表和商品包中的返回方法里面实现返回到栈底就好了。
[self.navigationController popToRootViewControllerAnimated:YES];
问题的重点就在于,如何在详情中实现返回至商品包页面/订单列表页面
以下是我的设计想法
#pragma mark -- 返回按钮点击- (void)theBackBtnClick:(UIButton*)sender{ NSArray* viewArr = self.navigationController.viewControllers; if(viewArr[1] == [YGMyOrderVCViewController class]){ //说明是从我的订单里面进来的则返回至上层 [self.navigationController popViewControllerAnimated:YES]; }else{ //是从其他地方进入到商品详情,此时也要返回到我的订单里面,但是不管从哪里进来的,都是从我的首页进来的,因此栈顶肯定为我的首页 NSMutableArray *pageArray = [self.navigationController.viewControllers mutableCopy]; YGMyOrderVCViewController *insert = [[YGMyOrderVCViewController alloc] init]; //插入界面栈 [pageArray insertObject:insert atIndex: 1]; [self.navigationController setViewControllers:pageArray animated:NO]; insert.hidesBottomBarWhenPushed = YES; [self.navigationController popToViewController:insert animated:YES]; } }
这样就可以解决问题。
有更好见解的,欢迎来探讨。
阅读全文
0 0
- iOS有关pop到self.navigationController.viewControllers以外的界面
- 单例中存储self.navigationController.viewControllers
- 关于navigationController的viewControllers
- 关于navigationController的viewControllers
- iOS self.navigationController退出到指定页面
- iOS-pop到想要的界面
- iOS:更改navigationController push和pop界面切换动画
- navigationController POP回 固定界面
- self.navigationController一次性pop出两个页面
- self.navigationController退出到指定页面,或者一次性pop出n个页面
- iOS POP到指定的界面的方法
- POP到指定的界面
- 判断当前的navigationController的viewControllers的数量
- navigationController push和pop界面切换动画
- 如何获取UIStoryboard里编辑的界面,如何pop回navigationController的某层界面
- 如何让self.navigationController退出到指定页面,或者让它一次性pop出两个页面popViewControllerAnimated没有
- 有关tableView和viewControllers的相关
- navigationController在pop时,指定pop到某个页面
- 字符串
- 第六次作业
- 天气预报
- matlab的文件名字提取,及删除后缀
- struts2里的struts.xml中 当result的type="stream"
- iOS有关pop到self.navigationController.viewControllers以外的界面
- 去除UITableViewCell复用机制 的几种方法
- 欢迎使用CSDN-markdown编辑器
- 微信小程序,一个有局限的类似 React Native 轮子
- 【自动内存管理机制】(1)Java内存区域(方法区、虚拟机栈、本地方法栈、堆、程序计数器)与内存溢出异常
- Android sdk安装目录中没有platform-tools目录问题详解
- 征信空白是好事吗?
- keil 5的add flash programming algorithm问题解答
- Android软键盘一些处理