【发布时间】:2013-05-13 03:51:30
【问题描述】:
我已将 Storyboard 文件添加到最初没有的应用程序中。出于某种原因,在将其添加到 didFinishLaunchingWithOptions 之前,我无法让我的自定义 UIViewController 正确显示:
ActivityViewController *viewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL] instantiateViewControllerWithIdentifier:@"ActivityViewController"];
为什么我需要像这样强制使用我的故事板? iOS 模板项目(Single View、Master-Detail 等)不需要这个。
清单:
- Xcode 项目摘要→Main Storyboard 正确设置为“MainStoryboard”。
- Interface Builder→Identity Inspector→Class 正确设置为“ActivityViewController”。
- Interface Builder→Identity Inspector→Storyboard ID 也设置为“ActivityViewController”,但这只是因为
instantiateViewControllerWithIdentifier需要它。
【问题讨论】:
-
控制器是否有从左边指向它的箭头?
-
是的,点击它会按预期打开
ActivityViewController.h。 -
在 info.plist 中主故事板文件的基本名称是否设置为 MainStoryboard?
-
是的。我认为 Xcode Project Summary→Main Storyboard 设置的正是这个属性。
-
这是您提出的第二个问题,您的情节提要似乎有些奇怪。我想知道您的 Xcode 是否有问题。
标签: ios xcode interface-builder xcode-storyboard