I am using below code to find the top most ViewController. If alert is presented, the code above gives UIAlertController. How do I get top view controller under UIAlertController?
+(UIViewController*)topMostViewController:(UIViewController*)rootViewController
{
if ([rootViewController isKindOfClass:[UITabBarController class]])
{
UITabBarController* tabBarController = (UITabBarController*)rootViewController;
return [self topMostViewController:tabBarController.selectedViewController];
}
else if ([rootViewController isKindOfClass:[UINavigationController class]])
{
UINavigationController* navigationController = (UINavigationController*)rootViewController;
return [self topMostViewController:navigationController.visibleViewController];
}
else
{
return rootViewController;
}
}
Any idea?