[[UIApplication sharedApplication] delegate].window
应用程序预期使用的窗口。
此属性包含用于在设备的主屏幕上呈现应用程序的可视内容的窗口。
[UIApplication sharedApplication].keyWindow
当前正在设备上显示的窗口。这通常是您的应用程序的窗口,但可能是一个系统窗口。
此属性在最近发送makeKeyAndVisible消息的Windows数组中保存UIWindow对象。
[UIApplication sharedApplication] .keyWindow会被UIActionSheet影响,只要在任何一个地方弹出过actionSheet,页面就死掉不能继续操作。或者当你的app需要跳转到别的app然后返回本app的时候,有可能会导致UI错乱,因为这样相当于添加新窗口为keyWindow,返回的时候是返回的不同的窗口。虽说苹果说是在ios8中解决的了这个问题但9.2的时候依然会遇见
因此,更多的时候推荐使用
[[UIApplication sharedApplication] delegate].window
网友评论