iOS 获取当前视图控制器
作者:
wbwu | 来源:发表于
2019-10-08 15:29 被阅读0次- (UIViewController *)getCurrentVC {
UIViewController *result = nil;
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
if (window.windowLevel != UIWindowLevelNormal) {
NSArray *windows = [[UIApplication sharedApplication] windows];
for (UIWindow *temp in windows) {
if (temp.windowLevel == UIWindowLevelNormal) {
window = temp;
break;
}
}
}
//取当前展示的控制器
result = window.rootViewController;
while (result.presentedViewController) {
result = result.presentedViewController;
}
//如果为UITabBarController:取选中控制器
if ([result isKindOfClass:[UITabBarController class]]) {
result = [(UITabBarController *)result selectedViewController];
}
//如果为UINavigationController:取可视控制器
if ([result isKindOfClass:[UINavigationController class]]) {
result = [(UINavigationController *)result visibleViewController];
}
return result;
}
本文标题:iOS 获取当前视图控制器
本文链接:https://www.haomeiwen.com/subject/tubbpctx.html
网友评论