iOS 13.0废弃'keyWindow'的解决方法

使用In Xcode 11 beta 4,提示keyWindow已经被iOS 13.0废弃:

'keyWindow' was deprecated in iOS 13.0: Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes

解决方法

方法一:

UIApplication.shared.windows.filter {$0.isKeyWindow}.first

或者:

UIApplication.shared.windows.first { $0.isKeyWindow }

方法二:

let keyWindow = UIApplication.shared.connectedScenes
.filter({$0.activationState == .foregroundActive})
.map({$0 as? UIWindowScene})
.compactMap({$0})
.first?.windows
.filter({$0.isKeyWindow}).first

使用:

keyWindow?.endEditing(true)


版权声明:著作权归作者所有。

相关推荐

解决Android Studio 出现 unable to access android sdk add-on list的方法

出现这个提示的原因主要是因为电脑第一次安装 Android Studio,启动后 Android Studio 没有检测到电脑有 SDK ,所以才有这个提示,unable to access android sdk add-on list下面说一下解决方法:解决方法如果是 windows 系统,在 Android Studio 的安装目录下,找到 binidea.properties 文件。如果是

git bash配置代理解决下载慢的方法

首先找到一个代理服务地址,也可以使用shadowsocks,蓝灯。假设本地使用了蓝灯,http(s)代理地址为:127.0.0.1:52427。Git配置代理>git config http.proxy http://127.0.1:52427>git config https.proxy https://127.0.1:52427Git设置为全局代理git config --glob

MySQL使用NOT IN存在null值导致结果错误的解决方法

house表:create table house (address varchar(200) not null, heating varchar(50));表中有两个字段,address地址,不能为null,凉爽程度heating 可以为null。插入记录:insert into house values ('A', null),('B','hot');in查询语句:select address

解决升级到iOS 11后UIBarButtonItem图片变形的问题

在iOS 10使用UIBarUbttonItem图片显示正常,升级到iOS 11后,图片拉伸变形。这个原因是从iOS 11开始,UIBarButtonItem使用了autolayout 而不是frame。解决方法是,对UIBarButtonItem里的图片按钮添加约束。例如(swift):button.widthAnchor.constraint(equalToCon

Xcode支持多个版本iOS的设备调试

要Xcode支持多个版本iOS设备调试,需要添加设备支持包。路径/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/为支持包所在的文件夹:添加设备支持包后,重启Xcode即可。百度网盘:iOS设备支持包注意:调试最新的iOS版本建议升级Xcode到相应的版本,如Xcode 

Java 9:Observer和Observable废弃原因及解决方案

Observer和Observable在Java 9标记为废弃。废弃原因Observer和Observable有几个原因:1、不能序列化Observable没有实现Serializable接口,它的内部成员变量都是私有的,子类不能通过继承它来对Observable的成员变量处理。所以子类也不能序列化。参考:Why is java.util.Observable&nbs