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

Iphone 如何从XIB文件加载故事板?,iphone,ios,xcode,interface-builder,storyboard,Iphone,Ios,Xcode,Interface Builder,Storyboard,单击按钮时,我试图从XIB文件加载故事板文件。因此,在iAction方法中,我调用了以下行: - (IBAction)NextView:(id)sender { UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; [mainStoryBoard instantiateViewControllerWithIdentifier:@"

单击按钮时,我试图从XIB文件加载故事板文件。因此,在
iAction
方法中,我调用了以下行:

- (IBAction)NextView:(id)sender
{
            UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    [mainStoryBoard instantiateViewControllerWithIdentifier:@"StoryViewController"];
}
但是我在运行应用程序时遇到了这个错误
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“情节提要()不包含标识符为“StoryViewController”的视图控制器

我查看了stackverflow上的其他问题,发现通常当人们忘记在试图加载的视图控制器的标识检查器中输入视图控制器的标识符名称时,会抛出此错误。但我也这样做了。 在故事板中,第一个加载的viewController是
StoryViewController
,我已经将其标识符设置为相同的。还有什么我可能遗漏的吗。请告诉我如何改正它。

您仅设置视图控制器的类名。我可以看到故事板ID文件为空。在标识部分将故事板ID设置为故事视图控制器

- (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

 }


您仅设置视图控制器的类名。我可以看到故事板ID文件为空。在标识部分将故事板ID设置为故事视图控制器

- (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

 }


尝试在
情节提要ID
字段中键入
StoryViewController
,看看它是否解决了问题。当前,您仅指定自定义类;它不是情节提要中视图控制器的名称。请尝试在
情节提要ID
字段中键入
StoryViewController
,看看它是否解决了问题。当前,您仅指定自定义类;这不是故事板中视图控制器的名称。谢谢,我已经排除了错误。但是按照您的建议执行之后,单击我编写代码以加载情节提要的按钮没有任何作用。您现在能告诉我它有什么问题吗?您编写的代码将返回StoryViewController的一个实例。然后,您必须显示或推送视图控制器。我在-(iAction)方法中添加了这两行<代码>StoryViewController*SVC=[[StoryViewController alloc]init];[自我呈现视图控制器:SVC动画:是完成:空]但当我单击按钮时,它加载了一个空的白色屏幕,而不是上面屏幕截图中显示的3个按钮,因为我没有在
StoryViewController.m
文件中编写任何代码。我想加载故事板中的内容。如何加载。关于编辑后的答案:我的视图控制器是UIViewController的子类,而不是UINavigationController的子类。不要分配init。。它将只提供空视图…从情节提要加载。。我已经编辑了我的答案。谢谢,我已经排除了错误。但是按照您的建议执行之后,单击我编写代码以加载情节提要的按钮没有任何作用。您现在能告诉我它有什么问题吗?您编写的代码将返回StoryViewController的一个实例。然后,您必须显示或推送视图控制器。我在-(iAction)方法中添加了这两行<代码>StoryViewController*SVC=[[StoryViewController alloc]init];[自我呈现视图控制器:SVC动画:是完成:空]但当我单击按钮时,它加载了一个空的白色屏幕,而不是上面屏幕截图中显示的3个按钮,因为我没有在
StoryViewController.m
文件中编写任何代码。我想加载故事板中的内容。如何加载。关于编辑后的答案:我的视图控制器是UIViewController的子类,而不是UINavigationController的子类。不要分配init。。它将只提供空视图…从情节提要加载。。我已经编辑了我的答案检查