- (UIViewController *)mx_topVC
{
UIWindow *kW = nil;
if (@available(iOS 13.0, *)) {
for (UIWindowScene* windowScene in [UIApplication sharedApplication].connectedScenes)
{
if (windowScene.activationState == UISceneActivationStateForegroundActive)
{
kW = windowScene.windows.firstObject;
break;
}
}
}else{
kW = [UIApplication sharedApplication].keyWindow;
}
UIViewController *topViewController = [kW rootViewController];
while (true) {
if (topViewController.presentedViewController)
{
topViewController = topViewController.presentedViewController;
} else if ([topViewController isKindOfClass:[UINavigationController class]] && [(UINavigationController*)topViewController topViewController])
{
topViewController = [(UINavigationController *)topViewController topViewController];
} else if ([topViewController isKindOfClass:[UITabBarController class]])
{
UITabBarController *tab = (UITabBarController *)topViewController;
topViewController = tab.selectedViewController;
} else {
break;
}
}
return topViewController;
}
发表回复