【问题标题】:error opening the storyboard files打开故事板文件时出错
【发布时间】:2015-04-25 07:27:31
【问题描述】:

在我的项目中,我有不同的 Storyboard 文件来支持不同的 iPhone,我的 appDelegate 中有这段代码:

if (window.frame.size.height == 568){
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:kMain5Name bundle:[NSBundle mainBundle]];
    id rootViewController = [storyBoard instantiateInitialViewController];
    [window setRootViewController:rootViewController];
} else if (window.frame.size.height == 480){
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:kMain5Name bundle:[NSBundle mainBundle]];
    id rootViewController = [storyBoard instantiateInitialViewController];
    [window setRootViewController:rootViewController];
} else if (window.frame.size.height == 667){
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:kMain6Name bundle:[NSBundle mainBundle]];
    id rootViewController = [storyBoard instantiateInitialViewController];
    [window setRootViewController:rootViewController];
} else if (window.frame.size.height == 736){
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:kMain6plusName bundle:[NSBundle mainBundle]];
    id rootViewController = [storyBoard instantiateInitialViewController];
    [window setRootViewController:rootViewController];
} 

每次我编译和运行应用程序崩溃时说它在 NSBundle 中找不到故事板文件,我把上面的代码注释掉了,它又可以工作了。我的代码有问题吗?

【问题讨论】:

  • 你为什么不给我们看名字,然后用那些故事板展示项目导航器的截图?如果它说找不到他们..那么也许你有一两个错误的名字。
  • 同上,我们需要知道kMain5Name 是否真的在您的项目中。该错误表明它或它的同伴不在您的项目中。
  • 有些相关,您可能想简单地使用自动布局和尺寸类来处理不同的设备尺寸。你不使用这些工具有什么原因吗?
  • @RodericCampbell 我从以前的项目(针对 iOS 7)中获取了代码,由于某种原因,我不记得我在以前的项目中禁用了自动布局,所以我在这个项目中做了(大小类自动布局时会自动禁用)kMain5Name 是带有文件名的宏(#define)。
  • @EarlGrey 我有确切的名称(我将文件名复制并粘贴到宏中(#define)。我还不能发布图片(低声誉)

标签: ios storyboard xcode6 nsbundle


【解决方案1】:

这是 UIStoryboard 类参考的摘录

参数 名称
故事板资源文件的名称不带文件扩展名。如果此参数为 nil,则此方法引发异常。

我将相关部分加粗。如果您不是母语人士,则意味着不要将扩展名添加到参数中。但是你在你的宏中确实做到了。

在尝试找出代码中任何问题的更深奥的原因之前,您确实应该阅读文档。

【讨论】:

  • 类参考文档是任何软件开发的圣经。
  • 从现在开始我会阅读所有的课程参考资料,谢谢你的提示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 2013-10-10
  • 1970-01-01
  • 2013-07-03
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多