UIWindow 官方文档解析
UIWindow定义了一个window对象,其用于管理和协调一个app在设备屏幕上的显示。除非一个app能在外部设备上显示内容,一般就只有一个window。
window的主要功能:1)提供一个区域来显示views;2)发送events给views。
如果想要改变你的app显示的内容,你可以改变window的根视图,但你不能创建一个新的window对象。
@property(nonatomic) UIWindowLevel windowLevel // 默认值为0.0.
const UIWindowLevel UIWindowLevelNormal; const UIWindowLevel UIWindowLevelAlert; const UIWindowLevel UIWindowLevelStatusBar; typedef CGFloat UIWindowLevel;
@property(nonatomic, strong) UIScreen *screen // 默认地,全部windows都在主设备屏幕上创建
@property(nonatomic, strong) UIViewController *rootViewController // 默认值为nil。将一个视图控制器赋给rootViewController,将是视图控制器的views作为window的内容视图。
@property(nonatomic, readonly, getter=isKeyWindow) BOOL keyWindow // keyWindow用来接收键盘和其他非触控事件。一次只能有一个window未keyWindow。
- (void)makeKeyAndVisible // 使receiver成为主窗口,并显示在其他一样水平或低水平的窗口之前。
- (void)becomeKeyWindow // 当receiver成为了key window时会被自动调用。永远不要试图直接调用该方法。然后,会公布一个UIWindowDidBecomeKeyNotification到默认通知中心。
- (void)makeKeyWindow //使receiver成为主窗口。
- (void)resignKeyWindow // 当receiver放弃key window时会被自动调用。永远不要试图直接调用该方法。然后,会公布一个UIWindowDidResignKeyNotification到默认通知中心。
- (CGPoint)convertPoint:(CGPoint)point toWindow:(UIWindow *)window
- (CGPoint)convertPoint:(CGPoint)point fromWindow:(UIWindow *)window
- (CGRect)convertRect:(CGRect)rect toWindow:(UIWindow *)window
- (CGRect)convertRect:(CGRect)rect fromWindow:(UIWindow *)window
- (void)sendEvent:(UIEvent *)event