以编程方式从具有多个故事板的应用程序中的Storyboard加载ViewController

DCI*_*Dev 0 objective-c storyboard ios uistoryboard ios10

我正在开发一个应用程序,该应用程序正在转换为为应用程序的不同部分提供多个故事板.它们通过在适当的时间以编程方式加载它们而链接在一起.

在轻触UIButton的函数中,它应该以编程方式加载故事板.代码是这样的:

- (void)loginTapped:(id)sender {
    UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Home.storyboard" bundle:nil];
    UIViewController *vc = [sb instantiateViewControllerWithIdentifier:@"homeStoryboard"];
    vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentViewController:vc animated:YES completion:NULL];
}
Run Code Online (Sandbox Code Playgroud)

故事板被命名为函数中列出的名称:

故事板文件名

并在项目设置中适当地列为目标:

故事板目标图像

并具有适当的ID,如下所示:

故事板id图像

但是,即使设置了所有这些,我得到错误:

'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Home.storyboard' in bundle NSBundle

我试图遵循这个职位的建议在这里,但没有奏效.如何加载此故事板?

nat*_*ter 5

解决方案(如上面的评论中所述)是不包括.storyboard提供故事板名称的时间.

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Home.storyboard" bundle:nil];
Run Code Online (Sandbox Code Playgroud)

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Home" bundle:nil];
Run Code Online (Sandbox Code Playgroud)