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];

            }

        }

     

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

  • 相关阅读:
    poi隐藏列
    凯西太太的果园
    java中不可变对象深入理解
    excel添加空白行的快捷键
    如何在多个页面中,引入一个公共组件
    对后端返回的数据进行适配
    我与时间管理的故事
    在前端团队的那些日子(初见)
    我是这样做时间管理的(下)
    我是这样做时间管理的(上)
  • 原文地址:https://www.cnblogs.com/yingkong1987/p/3343937.html
Copyright © 2011-2022 走看看