获取当前屏幕显示的视图控制器viewcontroller

来源:互联网 发布:农村淘宝新野招聘 编辑:程序博客网 时间:2024/06/07 01:18
//获取当前屏幕显示的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;  
}
0 0
原创粉丝点击