【问题标题】:My app requires using instantiateViewControllerWithIdentifier - why?我的应用程序需要使用 instantiateViewControllerWithIdentifier - 为什么?
【发布时间】: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


【解决方案1】:

如果您在情节提要中的“ActivetyViewController”上设置了Is Initial View Controller,则无需调用 instantiateViewControllerWithIdentifier。初始视图控制器将有一个指向它的箭头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 2011-10-13
    • 2012-07-22
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多