我通常以编程方式构建 UI,但由于某种原因在更新到 Xcode 11 后,无法删除 Storyboard或删除引用。它不断抛出一个错误,说 Storyboard丢失了。通常我会删除 main 并转到项目设置并删除 Main 关键字文本。然后我删除 viewController,添加一个新的 viewController,如 HomeViewController,并在应用委托(delegate)中使用以下代码。
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 版本中遵循的步骤完全相同,并且它曾经有效(没有删除 Storyboard 文件本身)。只要我加上上面的代码。现在好像不是这样了。如果我删除默认的 ViewController 文件并说添加一个新的 HomeViewController 文件并添加上面的代码,则会抛出一个错误,指出 Storyboard丢失或 Storyboard不包含 HomeViewController。
最佳答案
你没有说,但我假设你正在创建一个目标为 iOS 13 的新项目?如果没有,你可以忽略这个:-)
在新的 iOS 13+ 项目的 XCode 11 中,他们改变了从代码工程启动 UI 的方式。它不再发生在 AppDelegate 中,而是发生在 SceneDelegate 中。
在我花了很长时间弄清楚发生了什么之后,我把它写在了一篇博客文章中,认为它可能会对其他人有所帮助。我将链接到它,而不是全部重新散列:
关于ios - Storyboard未在 Xcode 11 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58457179/