iOS实现先无动画pop再push,替换当前控制器
来源:互联网 发布:从unix到linux 乱码 编辑:程序博客网 时间:2024/05/21 10:38
iOS实现先无动画pop再push,替换当前控制器
iOS开发中会遇到添加成功,发送成功……类似情况,需要先将push前的页面移除调。如果直接调用pop,立刻去push。如果这两个命令写在同一个控制器中,则会发现push根本没有被执行……因为pop已经将该控制器移除,push根本没有机会执行。也可以在上一个控制器通过代理/通知/闭包等操作——没有亲测,感觉麻烦。
所以就选择了下面的方法,先移除路由栈中当前控制器,再新增新的控制器,最后赋值。
废话不多说,直接上代码:
// 新建将要push的控制器 NewViewController *newVC = [[NewViewController alloc] init]; // 获取当前路由的控制器数组 NSMutableArray *vcArray = [NSMutableArray arrayWithArray:self.navigationController.viewControllers]; // 打印当前路由的控制器数组 NSLog(@"==the vcArray is %@", vcArray); // 获取档期控制器在路由的位置 int index = (int)[vcArray indexOfObject:self]; // 移除当前路由器 [vcArray removeObjectAtIndex:index]; // 添加新控制器 [vcArray addObject: newVC]; // 打印新增后的控制器数组 NSLog(@"==the vcArray is %@", vcArray); // 重新设置当前导航控制器的路由数组 [self.navigationController setViewControllers:vcArray animated:YES]; // over 有其他好方法欢迎一起学习。
0 0
- iOS实现先无动画pop再push,替换当前控制器
- iOS UINavigationController 替换当前显示的ViewController,即先pop,立即再push
- ios push pop动画
- 控制器转场动画自定义(1):push/pop的实现
- UINavigationController先pop再push
- iOS中用在导航控制器的转场动画(pop,push动画)制作
- IOS 实现系统push和pop的动画
- iOS pushViewController 实现push 和pop 默认动画效果
- IOS 实现系统push和pop的动画
- iOS 随意push,pop到任意控制器
- iOS 自定义动画 push/pop动画
- IOS POP 时 无动画
- IOS 自定义push和pop动画
- 导航控制器push/pop
- 自定义控制器的转场动画(Push、Pop)
- 自定义控制器的转场动画(Push、Pop)
- UINavigationController先pop再push,push的页面无法显示
- 使用CATransaction实现push pop控制器结束的回调
- Theano 中文文档 0.9 - 5.3 Windows安装说明
- python爬虫(一)
- 4.CSS图像绘制之:字渐变按钮
- Windows PE 第十章 加载配置信息
- Theano 中文文档 0.9 - 5.4 CentOS 6安装说明
- iOS实现先无动画pop再push,替换当前控制器
- Android----ContentProvider(内容提供者) ContentResolver(内容访问者)
- libeio的个人理解
- 白话空间统计二十三:回归分析(二)
- 半路出家,JAVA两年工作生涯。
- Theano 中文文档 0.9 - 6. 更新Theano
- 【HPU 1235 入学考试 】+ 01dp
- Two Sum II - Input array is sorted
- CMD局域网中远程重启服务器