iOS开发——获取当前屏幕显示的viewcontroller

Posted 乱七八糟21号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发——获取当前屏幕显示的viewcontroller相关的知识,希望对你有一定的参考价值。

  获取当前屏幕显示的viewcontroller,然后想怎么跳就怎么跳。

- (UIViewController *)getCurrentVC

{

    UIViewController *result = nil;

    

    UIWindow * window = [[UIApplication sharedApplication] keyWindow];

    if (window.windowLevel != UIWindowLevelNormal)

    {

        NSArray *windows = [[UIApplication sharedApplication] windows];

        for(UIWindow * tmpWin in windows)

        {

            if (tmpWin.windowLevel == UIWindowLevelNormal)

            {

                window = tmpWin;

                break;

            }

        }

    }

    

    UIView *frontView = [[window subviews] objectAtIndex:0];

    id nextResponder = [frontView nextResponder];

    

    if ([nextResponder isKindOfClass:[UIViewController class]])

        result = nextResponder;

    else

        result = window.rootViewController;

    

    return result;

}

以上是关于iOS开发——获取当前屏幕显示的viewcontroller的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发 - 获取当前View最顶层的ViewController

iOS开发 - 获取当前View最顶层的ViewController

iOS开发中获取视图在屏幕上显示的位置

UI基础 获取当前屏幕显示的viewcontroller

获取手机屏幕中心坐标

在 iOS 5 中获取屏幕亮度值