iOS获取当前控制器

- (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;  
}


第二种:

[
AppDelegate
 
shareInstance
].
window
.
rootViewController
;



你可能感兴趣的:(iOS获取当前控制器)