- // 程序启动完毕之后就会调用一次- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- // 1.创建UIWindowself.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- // 设置UIWindow的背景颜色self.window.backgroundColor = [UIColor redColor];
- // 让UIWindow显示出来(让窗口成为主窗口 并且显示出来)
- // 一个应用程序只能有一个主窗口
- [self.window makeKeyAndVisible];
- // 让UIWindow成为主窗口
- // [self.window makeKeyWindow];
- // 2. 再创建一个窗口UIWindow *w2 = [[UIWindow alloc] initWithFrame:CGRectMake(100,100,200,200)];
- w2.backgroundColor = [UIColor yellowColor];
- [w2 makeKeyAndVisible];
- self.w2 = w2;
- // 3.创建两个文本输入框
- // 3.1将文本输入框添加到window中UITextField *tx1 = [[UITextField alloc] initWithFrame:CGRectMake(10,10,200,40)];
- tx1.borderStyle = UITextBorderStyleRoundedRect;
- [self.window addSubview:tx1];
- // 3.2将文本输入框添加到w2中UITextField *tx2 = [[UITextField alloc] initWithFrame:CGRectMake(10,10,100,40)];
- tx2.borderStyle = UITextBorderStyleRoundedRect;
- [self.w2 addSubview:tx2];
- // 获取应用程序的主窗口NSLog(@"%@", [UIApplication sharedApplication].keyWindow);
- return YES;
- }
- - (void)test
- {
- // 1.创建UIWindowself.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- // 2.设置UIWindow的背景颜色self.window.backgroundColor = [UIColor redColor];
- // 创建控制器
- // NJViewController *vc = [[NJViewController alloc] init];
- // 将控制器的view添加到UIWindow上
- // 问题1:当view发生一些事件的时候,通知控制器, 但是控制器以及销毁了,所以可能出现未知错误
- /*
- 问题2:当发生旋转事件的时候 UIApplication对象会将旋转事件传递给UIWindow
- UIWindow又会将旋转事件传递它的根控制器,由根控制器决定是否需要旋转
- UIApplication->UIWindow->根控制器
- */
- // [self.window addSubview:vc.view];
- // 设置UIWindow的根控制器(建议使用下面这种方式)
- // self.window.rootViewController = vc;
- // UISwitch *switchBtn = [[UISwitch alloc] init];
- // [self.window addSubview:switchBtn];
- // 3.让UIWindow显示出来(让窗口成为主窗口 并且显示出来)
- // 一个应用程序只能有一个主窗口
- [self.window makeKeyAndVisible];
- // 让UIWindow成为主窗口
- // [self.window makeKeyWindow];}
来源: http://www.bubuko.com/infodetail-1973986.html