美文网首页
swift 获得应用内最顶层视图控制器

swift 获得应用内最顶层视图控制器

作者: 张科_Zack | 来源:发表于2021-04-23 16:37 被阅读0次

添加 UIApplication 扩展

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

相关文章

网友评论

      本文标题:swift 获得应用内最顶层视图控制器

      本文链接:https://www.haomeiwen.com/subject/peacrltx.html