所以,我正在使用下面的方法从UIApplication
扩展中获取顶部视图控制器:
因此,我正在使用下面的方法从UIApplication
扩展中获取顶部视图控制器:
class func topViewController(controller: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? {
if let navigationController = controller as? UINavigationController {
return topViewController(controller: navigationController.visibleViewController)
}
if let tabController = controller as? UITabBarController {
if let selected = tabController.selectedViewController {
return topViewController(controller: selected)
}
}
if let presented = controller?.presentedViewController {
return topViewController(controller: presented)
}
return controller
}
但问题是:它总是返回UIViewController
。然而,我需要检查它是否为例如MyViewController
。我该如何实现呢?
rootViewController
,而不是类型为UIViewController
吗? - Dávid PásztortopViewController
。 - Castor