[[[UIApplication sharedApplication] windows] lastObject]
该方法是用来获取当前屏幕上最上层的一个UIWindow,但在iOS11之后有时在利用该方法获取到的UIWindow上添加的视图可能无法显示。
在window上添加的视图无法显示
当我们在某个页面上使用了UIImagePickerController之后屏幕上会出现一个UIRemoteKeyboardWindow,而且会一直存在,如果键盘不出现在UIRemoteKeyboardWindow上添加的视图是无法显示的。
我的做法
我一般会在keywindow上添加一些视图。
iOS13之前的做法:[UIApplication sharedApplication].keyWindow
iOS13之后的做法:[UIApplication sharedApplication].windows[0]