【问题标题】:How to load a storyboard from a XIB file?如何从 XIB 文件加载情节提要?
【发布时间】:2013-05-18 18:50:54
【问题描述】:

单击按钮时,我正在尝试从 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 上提出的其他问题,发现通常当人们忘记将视图控制器的标识符名称放入试图加载的视图控制器的身份检查器中时会引发此错误。但我也这样做了。 在情节提要中,第一个正在加载的 viewController 是 StoryViewController,我将其标识符设置为相同。还有什么我可能会丢失的东西。请告诉我如何纠正它。

【问题讨论】:

  • 尝试在Storyboard ID 字段中输入StoryViewController,看看它是否能解决问题。目前,您只指定自定义类;它不是情节提要中视图控制器的名称。

标签: iphone ios xcode interface-builder storyboard


【解决方案1】:

您只是在设置视图控制器的类名。我可以看到故事板 ID 归档为空。在 Identity 部分中将 Storyboard ID 设置为 StoryViewController

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

 }

【讨论】:

  • 谢谢我摆脱了错误。但是按照您的建议进行操作后,单击我编写代码以加载情节提要的按钮不会做任何事情。你能告诉它现在有什么问题吗?
  • 您编写的代码将返回 StoryViewController 的一个实例。然后你必须展示或推送那个视图控制器
  • 我在 -(IBAction) 方法中添加了这两行。 StoryViewController *SVC= [[StoryViewController alloc]init]; [self presentViewController:SVC animated:YES completion:NULL]; 但是当我单击按钮时,它加载了一个空白屏幕,而不是上面屏幕截图中显示的 3 个按钮,因为我没有在 StoryViewController.m 文件中编写任何代码。我想加载情节提要中的内容怎么做。
  • 关于编辑后的答案:我的视图控制器是 UIViewController 的子类,而不是 UINavigationController 的子类。
  • 不要分配 init.. 它只会给出空视图...从情节提要加载.. 我已经编辑了我的答案检查
猜你喜欢
  • 1970-01-01
  • 2015-09-18
  • 2017-06-18
  • 1970-01-01
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
  • 2020-10-02
相关资源
最近更新 更多