您的位置:首页 > 移动开发 > IOS开发

iOS 获取当前正在显示的ViewController

2016-07-29 17:10 435 查看
//获取当前屏幕显示的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;  


测试可以使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: