using UIKit; public static class ViewControllerHelper { public static UIViewController GetVisibleViewController() { var rootController = UIApplication.SharedApplication.KeyWindow?.RootViewController; if (rootController == null) return null; return GetTopViewController(rootController); } private static UIViewController GetTopViewController(UIViewController rootController) { if (rootController.PresentedViewController != null) { return GetTopViewController(rootController.PresentedViewController); } if (rootController is UINavigationController navigationController) { return GetTopViewController(navigationController.VisibleViewController); } if (rootController is UITabBarController tabBarController) { return GetTopViewController(tabBarController.SelectedViewController); } return rootController; } }