zoukankan      html  css  js  c++  java
  • 跳转到指定的控制器

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

    思路:想要跳转到指定的控制器(这里谈的是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 相关技术文章
  • 相关阅读:
    配置centOS下的Python
    linux基础命令2
    linux基础命令1
    linux常用命令(运维用到)
    Lab 10-2
    Lab 10-1
    Lab 9-3
    archlinux 装完系统连接 wifi 网络
    arch Linux(二)
    arch Linux 安装完,无法通过 SSH 远程连接 root 用户问题
  • 原文地址:https://www.cnblogs.com/ITCoderW/p/8179718.html
Copyright © 2011-2022 走看看