1、通过Storyboard加载控制器
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
// 加载指定的Storyboard
UIStoryboard *vcSb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
// 加载箭头指向的控制器
// ViewController *vc = [vcSb instantiateInitialViewController];
// 加载指定表示ID的控制器
ViewController *vc = [vcSb instantiateViewControllerWithIdentifier:@"yellowVCID"];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
2、通过Xib加载控制器的View
通过Xib加载控制器的View步骤:
- 1.创建Xib文件
- 2.告诉Xib描述哪一个控制器的View--->绑定类
- 3.告诉控制器,Xib当中哪一个View去描述控制器的View---->连线
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
//通过Xib加载控制器的View
//1.创建Xib文件
//2.告诉Xib描述哪一个控制器的View,->绑定类
//3.告诉控制器,Xib当中哪一个View去描述控制器的View.->连线
/***
initWithNibName:
1.指定名称,会加载指定名称的xib.
2.如果name指定的为nil.
先去加载有没有相同名称的xib,如果有,就去加载.(FLViewController.xib)
如果没有相同名称,还会去找相同名称,去掉Controller(FLView.xib)
3.如果还没有,就不使用xib来描述控制器的view.去创建一个View.
*/
// init方法默认会调用initWithNibName:
FLViewController *vc = [[FLViewController alloc] initWithNibName:@"Test" bundle:nil];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
-
initWithNibName
:(init方法默认会调用initWithNibName:
)
1.指定名称,会加载指定名称的xib.
2.如果name指定的为nil.
先去加载有没有相同名称的xib,如果有,就去加载.(FLViewController.xib)
如果没有相同名称,还会去找相同名称,去掉Controller(FLView.xib)
3.如果还没有,就不使用xib来描述控制器的view.去创建一个View.