如何从XIB文件加载故事板?

时间:2013-05-23 12:04:40

标签: iphone ios xcode interface-builder storyboard

我正在尝试在单击按钮时从XIB文件加载故事板文件。所以在IBAction方法中我调用了以下行:

- (IBAction)NextView:(id)sender
{
            UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    [mainStoryBoard instantiateViewControllerWithIdentifier:@"StoryViewController"];
}

但是当我运行应用程序时,我收到此错误 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard (<UIStoryboard: 0x88672d0>) doesn't contain a view controller with identifier 'StoryViewController''

我查看了人们在stackverflow上提出的其他问题,发现当人们忘记将View控制器的标识符名称放在身份检查器中时,一旦尝试加载视图控制器,就会抛出此错误。但我也这样做了。 在故事板中,第一个加载的viewController是StoryViewController,我将其标识符设置为相同。还有其他我可能会遗失的东西。请告诉我如何纠正它。 enter image description here

1 个答案:

答案 0 :(得分:6)

您只是设置视图控制器的类名。我可以看到故事板ID被归为空。在 身份 部分

中将故事板ID 设置为 StoryViewController

enter image description here

- (IBAction)NextView:(id)sender
{
    UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    StoryViewController *storyViewController = [mainStoryBoard instantiateViewControllerWithIdentifier:@"StoryViewController"]; 
    [self presentViewController:storyViewController animated:YES completion:nil]; //  present it  
     //[self.navigationController pushViewController:storyViewController animated:YES];// or push it

 }