故事板未在 Xcode 11 中删除

Posted

技术标签:

【中文标题】故事板未在 Xcode 11 中删除【英文标题】:Storyboard not deleting in Xcode 11 【发布时间】:2019-10-18 19:36:39 【问题描述】:

我通常以编程方式构建 UI,但在更新到 Xcode 11 后出于某种原因,无法删除情节提要或删除参考。它不断抛出一个错误,说故事板丢失。通常我会删除 main 并转到项目设置并删除 Main 关键字文本。然后我删除 viewController,添加一个新的 viewController,如 HomeViewController,并在应用程序委托中使用以下代码。

var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool 

        window = UIWindow()
        window?.makeKeyAndVisible()
        let nc = UINavigationController(rootViewController: HomeViewController())
        window?.rootViewController = nc

        return true
    

我遵循与以前的 Xcode 版本完全相同的步骤,并且它曾经工作(不删除情节提要文件本身)。只要我添加了上面的代码。现在看来并非如此。如果我删除默认的 ViewController 文件并说添加一个新的 HomeViewController 文件并添加上面的代码,则会抛出一个错误,提示缺少故事板或故事板不包含 HomeViewController。

【问题讨论】:

您是否更新了场景委托?您是否更新了目标“常规”选项卡上的“主界面”设置? @rmaddy 感谢您的评论。好吧,我根本没有注意这个新的场景委托文件。不知道它的存在。是的,我从常规选项卡的主界面设置中删除了关键字“Main”。 【参考方案1】:

您没有说,但我假设您正在创建一个具有 ios 13 目标的新项目?如果没有,你可以忽略这个:-)

在新的 iOS 13+ 项目的 XCode 11 中,他们改变了从代码启动 UI 的工作方式。它不再发生在 AppDelegate 中,而是发生在 SceneDelegate 中。

在我花了很长时间弄清楚发生了什么之后,我在一篇博客文章中写了它,并认为它可能会帮助其他人。我将链接到它,而不是重新散列它:

XCode 11 New Project Without Storyboard

【讨论】:

以上是关于故事板未在 Xcode 11 中删除的主要内容,如果未能解决你的问题,请参考以下文章

故事板未在 xamarin ios 设计器中打开

Iphone 故事板未在设备上正确显示

目标 C - iPhone/iPad 应用程序 - 故事板未反映应用程序更改的奇怪问题

如何在 Xcode 11 中启动没有故事板 >= iOS 13 的新项目?

如何在 Xcode 11 故事板中查看祖先和后代的约束?

在 Xcode 中创建一个新的故事板并使其成为主要故事板(模拟器中的黑屏)