UIWindow是什么?
UIWindow是一种特殊的UIView,通常在一个app中至少有一个UIWindow
iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。
一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow
也就是说,没有UIWindow,完全看不到视图界面
如果有main,它会加载main.storyboard
在加载main.storyboard之前会先创建一个窗口
把main.storyboard箭头指向的控制器设为窗口的根控制器
显示窗口,把窗口的根控制器的view添加到窗口
代码:手动操作,不用系统的程序
//创建窗口
self.window = [[UIWindow alloc] init];
//设置窗口的根控制器
self.window.rootViewController = vc;
//在窗口中显示根控制器的view
[self.window makeKeyAndVisible];
/*
1.设置应用程序的主窗口
2.让窗口显示,把窗口的hidden设为NO
3.把窗口的根控制器的view添加到窗口上
*/
UIWindow补充:
在应用程序中,键盘和状态栏都是window
UITextField *textField = [[UITextField alloc] init];
[textField becomeFirstResponder];
//UITextField想要弹出键盘,必须得要添加到一个view上
[vc.view addSubview:textField];
//从ios9之后,如果添加了多个窗口,控制器它会自动把状态栏给隐藏掉
//解决办法就是把状态栏给应用程序管理 info.plist中设置
//可以设置window的级别
self.window.windowLevel