获取当前展示Controller
extension UIViewController {
@objc var currentTopViewController: UIViewController {
if let presentedVC = presentedViewController {
return presentedVC.currentTopViewController
}
switch self {
case let tabVC as UITabBarController:
return tabVC.selectedViewController?.currentTopViewController ?? self
case let navVC as UINavigationController:
return navVC.topViewController?.currentTopViewController ?? self
default:
return self
}
}
}
var TopViewController:UIViewController? {
UIApplication.shared.delegate?.window??.rootViewController?.currentTopViewController
}