Mobile/iOS

[iOS]최상위 ViewController 확인

out of coding 2015. 11. 10. 18:00

아이폰 개발을 하다보면, 최고 위로 올라와 있는 녀석을 확인하여 볼 경우가 있습니다.

안드로이드 같은 경우에는 Activity를 확ㅇ니하여 보겠지만.

아이폰은 다음과 같이 확인합니다.


+ (UIViewController *)topViewController:(UIViewController *)rootViewController {

    if (rootViewController.presentedViewController == nil) {

        return rootViewController;

    }


    if ([rootViewController.presentedViewController isKindOfClass:[UINavigationController class]]) {

        UINavigationController *navigationController = (UINavigationController *)rootViewController.presentedViewController;

        UIViewController *lastViewController = [[navigationController viewControllers] lastObject];

        return [self topViewController:lastViewController];

    }

    UIViewController *presentedViewController = (UIViewController *)rootViewController.presentedViewController;

    return [self topViewController:presentedViewController];

}


안되면 돌던지지는 마세요 ㅠㅠ