1. 根据storyboard的描述创建
2. 通过xib的描述创建
3. 通过代码创建控制器的view
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
XZViewController *viewVc = [[XZViewController alloc] init];
viewVc.view.backgroundColor = [UIColor redColor];
self.window.rootViewController = viewVc; // 红色的view就添加到窗口上了
[self.window makeKeyAndVisible];
================================================
1. ===控制器view加载过程================================
注:下图中从storyboard到empty view这一步骤忽略了判断xib这一步骤。
-----------------------------------------------------------------------------------------------------------------------------
2. ===控制器view的生命周期===============================
3. ===内存警告时控制器view的处理============================
-----------------------------------------------------------------------------------------------------------------
补充几点:
1. 控制器的view是延时加载的(用到时才加载);
2. 当用到view,可是view是nil的时候,就会调用 -(void)loadView 方法 ( loadView是用来自定义控制器view的,比如自定义控制器的view为UIImageView、UITableView等 )。
3. 可以用 isViewLoaded 方法判断一个UIViewController的view是否加载。