获取当前控制器

来源:互联网 发布:sdl区域分割算法 编辑:程序博客网 时间:2024/05/01 08:05

- (UIViewController *)getCurrentVC {

    UIViewController *result = nil;

    

    UIWindow * window = [[UIApplicationsharedApplication] keyWindow];

    if (window.windowLevel !=UIWindowLevelNormal) {

        NSArray *windows = [[UIApplicationsharedApplication] windows];

        for(UIWindow * tmpWinin 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;

}

0 0
原创粉丝点击