美文网首页iOS 开发技巧
iOS获取当前的viewController

iOS获取当前的viewController

作者: 逆流丶而上 | 来源:发表于2017-01-03 09:36 被阅读254次

代码如下:

+ (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

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