跳转到指定的控制器
前言:跳转到指定的控制器
思路:想要跳转到指定的控制器(这里谈的是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交流群欢迎你的加入!
群二维码:
先写到这么多
如有问题,敬请指正;
如需转载,请注明出处,谢谢!
我会不定期分享 iOS 相关技术文章
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 创建分布式锁
· 海康工业相机的应用部署不是简简单单!?