/**
* 获取当前最上层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;
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。