zoukankan      html  css  js  c++  java
  • IOS开发~灵活使用 dismissViewControllerAnimated / dismissModalViewControllerAnimated

    当遇到:

     A presentViewController B ,  B presentViewController C,  C presentViewController D,问如何从D一下子回到A,麻烦一点的办法就是一级一级的dismiss。

    下面来说说我的办法:

    首先,实现 BaseViewController 作为所有视图控制器的基类,然后在基类中实现返回最下层viewController的办法(注意:最底层是UIViewController,所有BaseViewController都放在其上边!):

    - (void) turnToGame

    {

    UIViewController *viewController = self;

        while (viewController.presentingViewController)

        {

            if ([viewController isMemberOfClass:[BaseViewController class]])  // 直到找到最底层为止

            {

                viewController = viewController.presentingViewController;

            }

            else

            {

                break;

            }

        }

        

        if([[[UIDevicecurrentDevice]systemVersion]floatValue] >=6)

        {

            if (viewController)

            {

                [viewController dismissViewControllerAnimated:YEScompletion:nil];

            }

        }

        else

        {

            if (viewController)

            {

                [viewController dismissModalViewControllerAnimated:YES];

            }

        }

     

    本段代码仅仅说明了实现的思想,具体的实现根据项目需求而定。

  • 相关阅读:
    二叉树重建leetcode
    leetcode 字符串
    leetcode first missing positive,覆盖区间
    leetcode 较难题
    Linq分页
    Linq 数据库通用的操作类
    .Net3.5扩展方法实现对象JSON序列化
    js 判断输入内容(主要针对汉字)的字节长度
    div 内table 居中
    Linq增、删、改、查
  • 原文地址:https://www.cnblogs.com/yingkong1987/p/3343937.html
Copyright © 2011-2022 走看看