//获取当前屏幕显示的viewcontroller
- (UIViewController *)getCurrentVC {
UIViewController *result = nil;
UIViewController *rootVC = [UIApplication sharedApplication].keyWindow.rootViewController;
do {
if ([rootVC isKindOfClass:[UINavigationController class]]) {
UINavigationController *navi = (UINavigationController *)rootVC;
UIViewController *vc = [navi.viewControllers lastObject];
result = vc;
rootVC = vc.presentedViewController;
continue;
} else if([rootVC isKindOfClass:[UITabBarController class]]) {
UITabBarController *tab = (UITabBarController *)rootVC;
result = tab;
rootVC = [tab.viewControllers objectAtIndex:tab.selectedIndex];
continue;
} else if([rootVC isKindOfClass:[UIViewController class]]) {
result = rootVC;
rootVC = nil;
}
} while (rootVC != nil);
return result;
}
获取当前控制器(当前屏幕显示的ViewController)
最新推荐文章于 2022-02-21 13:03:32 发布