i want to get topMostVC so i did this function:
func topMostViewController() -> UIViewController {
if let presented = self.presentedViewController {
return presented.topMostViewController()
}
if let navigation = self as? UINavigationController {
return navigation.visibleViewController?.topMostViewController() ?? navigation
}
if let tab = self as? UITabBarController {
return tab.selectedViewController?.topMostViewController() ?? tab
}
return self
}
Then called using:
AppDelegate.shared.window?.rootViewController?.topMostViewController()
But i have problem is when UIAlertController is showing in screen, it's return UIAlertController, not my expect viewcontroller
Can anyone tech me how to avoid UIAlertController, thanks
Just add one more condition