UIWindow用途?
- 展示应用程序的用户界面(所有展示的界面都需要添加到UIWindow上)
- 分发事件到各个用户界面
什么是keyWindow?
官方讲keyWindow是最近调makeKeyAndVisable()方法的那个UIWindow对象。
makeKeyAndVisible()?
show the current window and position it in front of all other windowsat the same level or lower
level = z 轴方向的权值(值小在底层,值大在上层)
展示当前UIWindow并且将其设置成UIApplication的keyWindow
如果你只是要展示UIWindow,不用调用makeKeyAndVisible(),只要将UIWindow的isHidden = false即可
关于UIApplication的windows数组
UIApplication管理着一个windows数组,常规情况下我们的App都只有一个UIWindow的对象。
- 当我们展示UIAlertView或者UIActionSheet的时候,它们是有自己的UIWindow对象的,这时候我们通过keyWindow拿到的Window是它们的window。
- 如果我们有使用扩展屏幕的话,也是需要为扩展屏幕创建独立的UIWindow对象的
PS: 如果你还有关于UIWindow的其他疑惑,可以后面提出来,我会查资料把答案整理进来
网友评论