博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swift - 获取当前的ViewController
阅读量:7050 次
发布时间:2019-06-28

本文共 898 字,大约阅读时间需要 2 分钟。

  hot3.png

在项目中,我们经常需要获取当前所看到的View Controller,比如从其他App跳回我们的App中时,我们可能需要当前View Controller做些事情。那么怎么获取到当前的View Controller呢?其实非常简单:

extension UIViewController {    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    }}

给UIViewController加一类方法,静态地获取当前View Controller。这基本上满足了绝大多数情况了。使用时只需:

let theViewControllerYouSee = UIViewController.currentViewController()

点击查看,Enjoy!

转载于:https://my.oschina.net/huqiji/blog/1830086

你可能感兴趣的文章
elasticsearch,java api, transport Client, 查询时索引库可以用通配符*和删除接口不能用...
查看>>
Screen scraping 2
查看>>
url 里的中文问题
查看>>
CSS中font-style的斜体属性Italic oblique的区别
查看>>
(回文串 Manacher)吉哥系列故事——完美队形II -- hdu -- 4513
查看>>
阅读计划
查看>>
android 创建DateTime类型的数据库
查看>>
Uva 712 - S-Trees
查看>>
Uva 193 - Graph Coloring
查看>>
(译)Windsor入门教程---第二部分 引用Windsor
查看>>
一个div 实现纸张阴影效果
查看>>
获取ObjectStack属性的4种方式
查看>>
Silverlight中自定义控件集合的xmlns命名空间关联的建议前缀
查看>>
https
查看>>
beta冲刺(5/7)
查看>>
[URAL-1517][求两个字符串的最长公共子串]
查看>>
分数规划整理
查看>>
[HDU5528]Count a * b
查看>>
[HDU5968]异或密码
查看>>
Vue的安装
查看>>