storyboard用起来很是方便。在开发中很有可能是多个人创建了多个storyboard。但最后,总是要把所有的storyboard“合并”在一起。总结一下自己的想法,不知道有没有其他的方式“合并”。
创建一个使用storyboard和ARC的single view application工程。然后common + N -> User Interface -> Storyboard,将这个storyboard命名为SecondStoryboard。那么现在工程内文件如下图所示:
MainStoryboard的布局如下所示:ViewController中有一个button,关联方法btnPressed
SecondStoryboard中的布局如下所示:viewController的背景色是红色,用以区别。
这里还需要做的一件事情是在secondstoryboard的viewcontroller中,将其identifier设置为firstVC.
接下来,完成btnPressed方法
- (IBAction)btnPressed:(id)sender {
UIStoryboard *secondStoryboard = [UIStoryboard storyboardWithName:@"SecondStoryboard" bundle:nil];
UIViewController *firstVC = [secondStoryboard instantiateViewControllerWithIdentifier:@"firstVC"];
[self.navigationController pushViewController:firstVC animated:YES];
}
storyboard还有一个实例方法 - (id)instantiateInitialViewController;这个方法也可以初始化firstVC,之所以没有用,是因为在MainStoryboard中已经有一个NavigationController,不能在一个navigationcontroller里包含另外一个navigationcontroller!!
这样,运行之后,点击按钮就会push到红色的view controller。
另外,如果想让SecondStoryboard来合并MainStoryboard则只需要在配置文件中修改一下就可以。如下图所示: