2020-04-08 获取当前显示的 UIViewControl

2020-04-08  本文已影响0人  小专注

获取当前显示的 UIViewController

@return 当前VC

*/

+ (UIViewController *)getCurrentViewController;

+ (UIViewController *)getCurrentViewController {

    UIWindow *window = [[UIApplication sharedApplication].delegate window];

    UIViewController *topViewController = [window 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;

}

上一篇 下一篇

猜你喜欢

热点阅读