什么是UIWindow
UIWindow是一种特殊的UIView,通常在一个app中至少会有一个UIWindow,iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。
取消App自动加载main.StoryBoard
General中找到Main interface , 将输入框中的数据清空后就不会加载main.StoryBoard
App取消自动加载main.StoryBoard后,如果什么也不做,会显示黑屏,这时我们需要做的是:
- 找到AppDelegate的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- 创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
- 设置窗口根控制器
KYViewController * kvc = [[KYViewController alloc] init];
self.window.rootViewController = kvc;
- 显示窗口
[self.window makeKeyAndVisible];
[self.window makeKeyAndVisible] 的底层实现其实就是将self.window的指针指向UIApplication对象的keyWindow属性
如果想管理当前应用程序的所有Window,可以使使用[UIApplication sharedApplication].windows获取
设置窗口层级
UIWindow对象设置windowLevel属性
@property(nonatomic) UIWindowLevel windowLevel;
两个特殊的Window
- 状态栏
- 弹出键盘