跳转到指定的控制器

前言:跳转到指定的控制器

思路:想要跳转到指定的控制器(这里谈的是push或者是pop的方式)

  分两种情况:

1.要跳转到的目的控制器destinationViewController 是已经是在导航控制器的子控制器中了,那么遍历这些子控制器,pop回去

2.要跳转的目的控制器destinationViewController还没在已有的导航控制器的子控制器中,那么push到目的控制器

其中有一点是可以设置一个标志位,来判断是需要push还是pop

代码如下:

复制代码
 1 #pragma mark - 到目的控制器
 2 - (void)ww_GotoDestinationViewController:(UIViewController *)destinationVc{
 3     //用popFlag作为标志位来进行判断push 还是pop
 4     BOOL popFlag = NO;
 5     for (UIViewController *childVc in self.navigationController.viewControllers) {
 6         if ([childVc isMemberOfClass:[destinationVc class]]) {
 7             popFlag = YES;
 8             [self.navigationController popToViewController:childVc animated:YES];
 9             break;
10         }
11     }
12     
13     if (!popFlag) {
14         //表明导航的子控制器里边没有合适的控制器来做这件事
15         [self.navigationController pushViewController:[[destinationVc class] new] animated:YES];
16     }
17 }
复制代码

当然还有的时候是存在以为modal的方式弹出的控制器,那种情况下,也有dismiss的情况,以后再整理。

参考网址:

http://blog.csdn.net/it_liuchengli/article/details/51273153

 

iOS交流群欢迎你的加入!

群二维码:

先写到这么多

如有问题,敬请指正;

如需转载,请注明出处,谢谢!

 

posted on   ITCoderW  阅读(648)  评论(0编辑  收藏  举报

编辑推荐:
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
阅读排行:
· 20250116 支付宝出现重大事故 有感
· 一个基于 Roslyn 和 AvalonEdit 的跨平台 C# 编辑器
· 2025 最佳免费商用文本转语音模型: Kokoro TTS
· 在 .NET Core中如何使用 Redis 创建分布式锁
· 海康工业相机的应用部署不是简简单单!?
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示