获取最顶层的ViewController top ViewController swift
说明
获取最顶层的ViewController
解决
为UIApplication写个扩展
// MARK: UIApplication extensionsextension UIApplication {class func getTopViewController(base: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? {if let nav = base as? UINavigationController {return getTopViewController(base: nav.visibleViewController)} else if let tab = base as? UITabBarController, let selected = tab.selectedViewController {return getTopViewController(base: selected)} else if let presented = base?.presentedViewController {return getTopViewController(base: presented)}return base}
}
用法如下
if let topVC = UIApplication.getTopViewController() {topVC.view.addSubview(forgotPwdView)
}
参考
https://stackoverflow.com/questions/26667009/get-top-most-uiviewcontroller
获取最顶层的ViewController top ViewController swift相关推荐
- iOS获取最顶层ViewController
1.获取当前屏幕显示的 Viewcontroller 案例源码 2.UIApplication 的简析 3.KeyWindow 的简析 4.rootViewController 的简析 5.Prese ...
- DTCMS自定义标签,获取所有栏目文章列表TOP,以及文章通用URL
网站最近更新等地方,发现DTCMS没有获取所有栏目文章列表的标签,只能自己写 思路:获取所有栏目文章列表不难,难点在于linkurl的写法 1.制作获取所有文章列表标签 DTcms.Web.UI\La ...
- js获取元素的left和top值方法总结
方法一: 使用obj.style.left和obj.style.top 该方法获取到的样式可读可写 但是这种方法有局限性,仅能获取行内样式中的left,right. 如果写在了style标签里,或者l ...
- 【ArcGIS遇上Python】python批量获取栅格数据四至(top,bottom,left,right)坐标代码
上图所示为ArcGIS自带的影像数据,存放路径为C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcGlobeData\wsiearth.tif",在源 ...
- python获取并解析电影评分Top 250的电影名称、评分和电影类型,并统计分析出哪些电影类型占比居多(最终结果显示剧情类型的电影占比最多)
一.实现目标 python编写一个简易的爬虫程序,获取电影有史以来的电影评分最高的前250部电影的名称和评分,获取的数据存储到exce文件中.之后统计分析出哪些电影类型占比居多. 二.实现 ...
- swift iOS8 XIB 问题 ViewController.init() xib
对于OC 中 ViewController *vc = [[ViewController alloc] init],方法默认会加载一个同名的xib文件当View.但是在swift中 ViewCont ...
- iOS 获取当前正在显示的视图控制器ViewController(最全)
目录 先插入以下介绍以下本编文章除标题所讲知识外,还额外包含的内容有如下: 1.获取当前显示的视图控制器ViewController 2.如何在多次presentViewController后直接返回 ...
- iOS点滴- ViewController详解
一.生命周期 当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序 1. alloc 创建对象,分配空间 2.init (initW ...
- viewController详解
一.生命周期当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序 1. alloc 创建对象,分配空间 2.init (initWithNibName) 初始化对象,初始化数据 3.load ...
- Extjs5.0(6):控制器(Controller、ViewController)和路由器(Router)
控制器 上一篇文章我们已经为项目添加了左侧导航栏,接下来要为导航栏添加点击事件,点击左侧导航栏,右侧界面出现相应变化. 为组件添加事件,就要用到控制器了.Extjs5提供了两种控制器:Controll ...
最新文章
- Oracle备份恢复一(手动备份)
- 使用IDM下载,不适用默认浏览器下载
- c语言程序设计编程解读,【答题】C语言程序设计问题与解释实验
- python 多核并行计算_手把手 | 嫌Python太慢?并行运算Process Pools三行代码给你4倍提速!...
- Android功耗优化(7)---如何分析wakelock(wakeup source)持锁问题
- go var 一个整数_Go语言基础之基本数据类型
- 详细解读Python中的__init__()方法
- Cocos2dx之UI组件
- 预测控制matlab程序,预测控制matlab程序
- 文字栅格化剪切蒙版——创建文字遮罩效果的两种方法——梦幻游乐园
- PHP存储微信昵称特殊符号过滤方法
- 将背景为白色图片转为png格式的透明图片
- linux内核代码_解决Linux内核代码审阅者短缺的问题
- 什么是PR、什么是BD?
- 【矩阵论笔记】满秩分解
- Maven 上手指南
- Unity 2D角色动画状态切换
- rsync 命令_rsync命令教程示例
- OLTP与OLAP理解
- html引入let,let.html
热门文章
- java 各种数据结构,几种常见的数据结构的JAVA实现
- python整型变量化ascii_Python基础之基本数据类型
- oracle PS/SQL DEVELOPER
- Oracle中ORACLE_SID,INSTANCE_NAME,DB_NAME几个名词的区别
- 1731: [Usaco2005 dec]Layout 排队布局*
- Mysql + keepalived 实现双主热备读写分离
- Coder Essential之编程语言学习知识点纲要
- WPF开发时光之痕日记本(一)——富文本编辑器
- 谈谈Memcached与Redis(三)
- 鸿蒙系统30个G,鸿蒙系统升级,为何固定大小有5.9G,也有3点几G呢?