iOS11之后慎用[[[UIApplication sharedApplication] windows] lastObject]

[[[UIApplication sharedApplication] windows] lastObject]

该方法是用来获取当前屏幕上最上层的一个UIWindow,但在iOS11之后有时在利用该方法获取到的UIWindow上添加的视图可能无法显示。

在window上添加的视图无法显示

当我们在某个页面上使用了UIImagePickerController之后屏幕上会出现一个UIRemoteKeyboardWindow,而且会一直存在,如果键盘不出现在UIRemoteKeyboardWindow上添加的视图是无法显示的。

我的做法

我一般会在keywindow上添加一些视图。
iOS13之前的做法:[UIApplication sharedApplication].keyWindow
iOS13之后的做法:[UIApplication sharedApplication].windows[0]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容