美文网首页
获取当前屏幕显示的viewcontroller

获取当前屏幕显示的viewcontroller

作者: 不疯魔难以成佛 | 来源:发表于2016-12-24 13:10 被阅读0次

    <pre><code>

    //获取当前屏幕显示的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;
    

    }

    相关文章

      网友评论

          本文标题:获取当前屏幕显示的viewcontroller

          本文链接:https://www.haomeiwen.com/subject/leilvttx.html