00『 基础知识 』

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

2016-09-06  本文已影响28人  竖着走的大闸蟹

//获取当前屏幕显示的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;

}

上一篇 下一篇

猜你喜欢

热点阅读