Swift - 获取当前的ViewController

2017-09-20  本文已影响0人  麦志超

转自:http://www.jianshu.com/p/30b341d5edfa


// 获取当前显示的ViewController

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
    }
}


获取当前VC:

let theViewControllerYouSee = UIViewController.currentViewController()

PS:转载仅为了学习使用,如有不妥,请联系,即删。

上一篇 下一篇

猜你喜欢

热点阅读