渐渐被遗忘的东西—UIWindow

什么是UIWindow

UIWindow是一种特殊的UIView,通常在一个app中至少会有一个UIWindow,iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的View,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了。

取消App自动加载main.StoryBoard

General中找到Main interface , 将输入框中的数据清空后就不会加载main.StoryBoard

App取消自动加载main.StoryBoard后,如果什么也不做,会显示黑屏,这时我们需要做的是:

  1. 找到AppDelegate的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  2. 创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  1. 设置窗口根控制器
KYViewController * kvc = [[KYViewController alloc] init];
self.window.rootViewController = kvc;
  1. 显示窗口
[self.window makeKeyAndVisible];

[self.window makeKeyAndVisible] 的底层实现其实就是将self.window的指针指向UIApplication对象的keyWindow属性

如果想管理当前应用程序的所有Window,可以使使用[UIApplication sharedApplication].windows获取

设置窗口层级

UIWindow对象设置windowLevel属性

@property(nonatomic) UIWindowLevel windowLevel;  

两个特殊的Window

  1. 状态栏
  2. 弹出键盘

你可能感兴趣的:(渐渐被遗忘的东西—UIWindow)