美文网首页
iOS获取当前显示UIViewController

iOS获取当前显示UIViewController

作者: A訫飛Flyme | 来源:发表于2019-11-06 15:26 被阅读0次
    - (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获取当前显示UIViewController

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