UIWindow详解

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.

你可能感兴趣的:(UIWindow详解)