extension UIApplication {
class func getTopMostViewController(base: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? {
if let nav = base as? UINavigationController {
return getTopMostViewController(base: nav.visibleViewController)
}
if let tab = base as? UITabBarController {
if let selected = tab.selectedViewController {
return getTopMostViewController(base: selected)
}
}
if let presented = base?.presentedViewController {
return getTopMostViewController(base: presented)
}
return base
}
}
iOS获取最顶层ViewController
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 1 实现思路通过最底层的ViewController依次向上寻找,直到找到最顶层的ViewController,也...
- 获取顶层ViewController的代码如下, The view controller that is pres...
- 业务上,尤其是SDK的工程中,有时候需要在集中的地方获取当前显示的ViewController,便于present...
- 前言 在iOS中开放中,我们可能会遇到需要通过代码获取当前显示在屏幕最顶层的ViewController,比如我们...
- 通过下面的函数可以获取当前的controller( [[self topViewController] pr...