首页 > 代码库 > Storyboard & XIB 自己的理解
Storyboard & XIB 自己的理解
//1.storyboard
//(1)
//此处bundle:nil 等价于 [NSBundle mainBundle]
// SecondViewController *secondVc = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"Second"];
// SecondViewController *secondVc = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]instantiateViewControllerWithIdentifier:@"Second"];
//(2)
//SecondViewController *secondVc = [[UIStoryboard storyboardWithName:@"SecondSB" bundle:nil]instantiateViewControllerWithIdentifier:@"Second"];
//(3)
// SecondViewController *secondVc = [[UIStoryboard storyboardWithName:@"SecondSB" bundle:nil]instantiateInitialViewController];
//2.与控制器同名的XIB文件 SecondViewController.xib init或initWithNibName加载
//(1)
// SecondViewController *secondVc = [[SecondViewController alloc]init];
//(2)
// SecondViewController *secondVc = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
//3.与控制器不同名的XIB文件 View.xib loadNibNamed加载控制器的view
/*
在创建控制器的时候直接指定要加载xib作为控制器的view,名称不相干
> 需要修改xib文件的fileOwner进行关联
> 需要将fileOwner里面的view指向xib里面的view
*/
//(1)initWithNibName---注重file owner
SecondViewController *secondVc = [[SecondViewController alloc]initWithNibName:@"Second" bundle:nil];
//(2)
// SecondViewController *secondVc = [[SecondViewController alloc]init];
// secondVc.view = [[[NSBundle mainBundle]loadNibNamed:@"SecondViewController" owner:nil options:nil] lastObject];
//4.与控制器不同名的XIB文件 删除View,创建控制器 loadNibNamed---注重xib中内容
// SecondViewController *secondVc = [[[NSBundle mainBundle]loadNibNamed:@"SecondVC" owner:nil options:nil] lastObject];
Storyboard & XIB 自己的理解