步驟
- 在加載完成info.plist 的時候或進行判斷是否,設置了main,如果沒有就需要自動手動創建;
- 創建窗口的實例化對象,
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
- 創建窗口的跟控制器,並賦值
//對應界面的東西交給 對應的控制器取處理
UIViewController *rootVc =[[UIViewController alloc]init];
// 一旦設置窗口的控制器,就會吧跟控制器view加到window上
self.window.rootViewContrller = rootVc;
- 顯示窗口
/*
1. 顯示窗口
2. 成爲應用程序的主窗口
*/
[self.window makeKeyAndVisiable];
注意:狀態欄和鍵盤是一個窗口;
UIWindow
StoryBoard 創建控制器
UIStoryboard *authStory = [UIStoryboard storyboardWithName:@"Auth" bundle:nil];
LDLoginViewController *vc = [authStory instantiateViewControllerWithIdentifier:@"LDLoginViewController"];
self.window.rootViewController = vc;
// 3.顯示窗口
[self.window makeKeyAndVisible];
xib創建控制器
//在這裏當xib的名字和控制器的名字相同時 可以直接init
ViewController *vc = [[ViewController alloc] initWithNibName:@"VC" bundle:nil];
viewload
- 當控制器第一次創建的時候調用;
- 只有在想自定義控制器的view的時候才調用;
注意:viewLoad底層實現:判斷下有沒有指定storyboard,如果有,就會幫你創建storyboard描述的控制器的view,如果沒有,創建一個空的view。