keyWindow

详见:看完这篇就不会再被keyWindow坑了

https://www.jianshu.com/p/b6964951a6be

 

经本人测试: 只有 老版本的 UIAlertView 会创建新的 Window, 从而改变keyWindow, 而 UIActionSheet 跟 新版本的 UIAlertViewController 都不会创建新的 Window,  但是这篇文章的意义在于 帮助了解了, 以下2个 window的 不同:

 

        UIWindow *DelegatekeyWindow = [UIApplication sharedApplication].delegate.window;

        UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;

 

  要往上加东西,最好是 使用 delegate.window ,  而 keyWindow 是动态会变的, 而 keyWindow 是 window list 里面 最后一个 调用 makeKeyWindow的 window.

你可能感兴趣的:(iphone/object-c)