【发布时间】:2016-12-20 18:12:18
【问题描述】:
我正在开发一个应用程序,该应用程序正在过渡到为应用程序的不同部分提供多个故事板。它们通过在适当的时间以编程方式加载它们被链接在一起。
在点击 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];
}
故事板被命名为函数中列出的名称:
并在项目设置中适当地列为目标:
并且有相应的 ID,如下所示:
但是,即使设置了所有这些,我也会收到错误:
'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Home.storyboard' in bundle NSBundle
我已尝试遵循此帖子 here 的建议,但没有任何效果。如何加载此情节提要?
【问题讨论】:
-
您可以尝试删除故事板名称中的
.storyboard吗?所以只需storyboardWithName:@"Home" -
试试@"Home",让方法找出文件扩展名。
-
@nathan,Phillip 成功了,谢谢!
标签: ios objective-c storyboard uistoryboard ios10