/**
* 获取当前最上层VC
*
* @return <#return value description#>
*/
- (UIViewController *)getTopViewController {
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;
}
/**
* 获取当前活动的navigationcontroller
*
* @return <#return value description#>
*/
- (UINavigationController *)navigationViewController {
UIWindow *window = [UIApplication sharedApplication].keyWindow;
if ([window.rootViewController isKindOfClass:[UINavigationController class]]) {
return (UINavigationController *)window.rootViewController;
} else if ([window.rootViewController isKindOfClass:[UITabBarController class]]) {
UIViewController *selectVc = [((UITabBarController *)window.rootViewController)selectedViewController];
if ([selectVc isKindOfClass:[UINavigationController class]]) {
return (UINavigationController *)selectVc;
}
}
return nil;
}