一、简介
UIWindos可以理解为一个app的窗口,作为Controller的容器,一个App至少拥有一个window,且只有一个keyWindow,也可以有多个Window.
keyWindow:指当前的主window,屏幕的最外层的window,所以有多个window时需要遍历获取目的window.
window可以不占满全屏幕,可以在屏幕的某个frame位置。
二、UIWindowLevel介绍
window显示层级规则:由于window的显示层级是根据windowLevel来决定的,level高的window显示在上面,同level的keyWindow显示在前面。
系统定义的level值。
//CFFloat值 UIWindowLevelNormal = 0.0 | UIWindowLevelStatusBar = 1000.0 | UIWindowLevelAlert = 2000.0 |
三、UIWindow属性方法
需求:添加一个全局按钮
思想:全局添加一个按钮大小的window,添加点击和拖动手势。
注意:
1.创建一个window之后,需要设置rootViewContorller
2.一般的主window,如果需要显示,则需要创建makeKeyAddVisibel或者将isHidden置为false
疑问?
1.如果没有在AppDelegate中添加全局变量,有时候在AppDelegate之外添加会失败,为什么?
2.怎么移除创建的window,是设置为hidden吗?