
添加UIView到UIWindow中兩種常見方式:
-(void)addSubview:(UIView *)view;
直接將view添加到UIWindow中,但并不會(huì)理會(huì)view對(duì)應(yīng)的UIViewController@property(nonatomic,retain) UIViewController *rootViewController;
自動(dòng)將rootViewController的view添加到UIWindow中,負(fù)責(zé)管理rootViewController的生命周期常用方法
-(void)makeKeyWindow;
讓當(dāng)前UIWindow變成keyWindow(主窗口)-(void)makeKeyAndVisible;
讓當(dāng)前UIWindow變成keyWindow,并顯示出來(lái)
[UIApplication sharedApplication].windows
在本應(yīng)用中打開的UIWindow列表,這樣就可以接觸應(yīng)用中的任何一個(gè)UIView對(duì)象
(平時(shí)輸入文字彈出的鍵盤,就處在一個(gè)新的UIWindow中)[UIApplication sharedApplication].keyWindow
用來(lái)接收鍵盤以及非觸摸類的消息事件的UIWindow,而且程序中每個(gè)時(shí)刻只能有一個(gè)UIWindow是keyWindow。如果某個(gè)UIWindow內(nèi)部的文本框不能輸入文字,可能是因?yàn)檫@個(gè)UIWindow不是keyWindowview.window
獲得某個(gè)UIView所在的UIWindow

- 代碼示例:
// 1.創(chuàng)建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor redColor];
// 2.創(chuàng)建窗口的根控制器
UIViewController *rootVc = [[UIViewController alloc] init];
rootVc.view.backgroundColor = [UIColor greenColor];
// UIButton *addBtn = [UIButton buttonWithType:UIButtonTypeContactAdd];
// addBtn.center = CGPointMake(200, 200);
// [rootVc.view addSubview:addBtn];
// [self.window addSubview:rootVc.view];
// 把控制器作為窗口的跟控制器,就會(huì)把跟控制器的view自動(dòng)添加到窗口
// 設(shè)置了窗口的根控制器,有旋轉(zhuǎn)的功能
self.window.rootViewController = rootVc;
// 3.顯示窗口
[self.window makeKeyAndVisible];