什么是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
- 狀態欄
- 彈出鍵盤