extension UIViewController
{
// 獲取當前顯示的 ViewController
class func currentViewController(base: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController?
{
if let nav = base as? UINavigationController
{
return currentViewController(base: nav.visibleViewController)
}
if let tab = base as? UITabBarController
{
return currentViewController(base: tab.selectedViewController)
}
if let presented = base?.presentedViewController
{
return currentViewController(base: presented)
}
return base
}
}