oc获取控制器跳转

2020-08-24  本文已影响0人  有理想有暴富的小青年

-(UIViewController *)sn_getCurrentVC{

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

    UIViewController* currentViewController = window.rootViewController;

    BOOLrunLoopFind =YES;

    while(runLoopFind) {

        if(currentViewController.presentedViewController) {

            currentViewController = currentViewController.presentedViewController;

        }elseif([currentViewControllerisKindOfClass:[UINavigationControllerclass]]) {

            UINavigationController* navigationController = (UINavigationController* )currentViewController;

            currentViewController = [navigationController.childViewControllerslastObject];

        }elseif([currentViewControllerisKindOfClass:[UITabBarControllerclass]]) {

            UITabBarController* tabBarController = (UITabBarController* )currentViewController;

            currentViewController = tabBarController.selectedViewController;

        }else{

            NSUIntegerchildViewControllerCount = currentViewController.childViewControllers.count;

            if(childViewControllerCount >0) {

                currentViewController = currentViewController.childViewControllers.lastObject;

                returncurrentViewController;

            }else{

                returncurrentViewController;

            }

        }

    }

    returncurrentViewController;

}

上一篇 下一篇

猜你喜欢

热点阅读