iOS-获取当前屏幕显示的ViewController

//获取当前屏幕显示的ViewController

- (UIViewController *)getCurrentVC

{

UIViewController *result = nil;

UIWindow * window = [[UIApplication sharedApplication] keyWindow];

if (window.windowLevel != UIWindowLevelNormal)

{

NSArray *windows = [[UIApplication sharedApplication] windows];

for(UIWindow * tempWindow in windows)

{

if (tempWindow.windowLevel == UIWindowLevelNormal)

{

window = tempWindow;

break;

}

}

}

UIView *frontView = [[window subviews] objectAtIndex:0];

id nextResponder = [frontView nextResponder];

if ([nextResponder isKindOfClass:[UIViewController class]])

result = nextResponder;

else

result = window.rootViewController;

return result;

}

你可能感兴趣的:(iOS-获取当前屏幕显示的ViewController)