//先加载storyboard文件(Test是storyboard的文件名)
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:nil];
//接着初始化storyboard中的控制器
//初始化“初始控制器”(箭头所指的控制器)
RHViewController *rh = [storyboard instantiateInitialViewController];
//通过一个标识初始化对应的控制器
RHViewController *rh = [storyboard instantiateViewControllerWithIdentifier:@"rh"];
//指定控制器的view的来源是VC.xib的方式去加载
UIViewController *vc = [[ViewController alloc] initWithNibName:@"VC" bundle:nil];
//直接alloc init加载
RHViewController *vc = [[RHViewController alloc] init];
//事实上直接alloc init的情况下 控制器的init方法底层会调用initWithNibName:bundle:
1.寻找有没有跟控制器类名同名但是不带Controller的xib,如果有就会去加载(RHView.xib)
2.寻找有没有跟控制器类名同名的xib,如果有就会去加载(RHViewController.xib)
3.如果都没有找到,创建空的view,
4.以上方法在加载xx.xib的时候注意点:
4.1 : xx.xib的Files`Owner设置为控制器的类名 然后右击
4.2 : Files`Owner将view属性连接给xib中的view
网友评论