1.windows是一种特殊view。每个app至少有一个window。启动的window支撑起所有界面。
@interfaceUIWindow :UIView
NSLog(@"keyWindow1:%@",[UIApplicationsharedApplication].keyWindow);
[self.windowmakeKeyAndVisible];
NSLog(@"keyWindow2:%@",[UIApplicationsharedApplication].keyWindow);
2.键盘、状态栏、弹窗都是window
键盘对应的UITextEffectWindow
状态栏对应的UIStatusBarWindow
3.那么在什么情况下会导致我们想要创建多UIWindow的状态呢?我总结了一下,包括但不限于:
全局性的自定义HUD,Alert效果(SCAlert)等等。
需要展示的界面需要盖住UIStatusBar。
4.窗口的优先级
我们可以通过设置窗口的windowLevel来设置窗口的优先级,也就是谁上谁下的关系,优先级如下:UIWindowLevelAlert > UIWindowLevelStatusBar > UIWindowLevelNormal
5.[self.window makeKeyAndVisible];
会把根控制器的view 加载进来。
self.window.rootViewController= [self creatTestController];
6.