本文主要是介绍获取当前viewController,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
类方法:// 获取当前显示的 viewController
+ (UIViewController*)topViewController {return [self topViewControllerWithRootViewController:[UIApplication sharedApplication].keyWindow.rootViewController];
}
+ (UIViewController*)topViewControllerWithRootViewController:(UIViewController*)rootViewController {if ([rootViewController isKindOfClass:[UITabBarController class]]) {UITabBarController* tabBarController = (UITabBarController*)rootViewController;return [self topViewControllerWithRootViewController:tabBarController.selectedViewController];} else if ([rootViewController isKindOfClass:[UINavigationController class]]) {UINavigationController* navigationController = (UINavigationController*)rootViewController;return [self topViewControllerWithRootViewController:navigationController.visibleViewController];} else if (rootViewController.presentedViewController) {UIViewController* presentedViewController = rootViewController.presentedViewController;return [self topViewControllerWithRootViewController:presentedViewController];}else {return rootViewController;}
}
这篇关于获取当前viewController的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!