前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS获取当前显示UIViewController视图

iOS获取当前显示UIViewController视图

原创
作者头像
Lee坚武
修改2020-12-01 17:59:18
9190
修改2020-12-01 17:59:18
举报
文章被收录于专栏:iOS知识点
代码语言:javascript
复制
- (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;
}

第二种写法:

代码语言:javascript
复制
//登录接口
 UIViewController *juheVC = 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]]) {
 juheVC = nextResponder;
 } else {
 juheVC = window.rootViewController;
 }
 return juheVC;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档