【问题标题】:How can i migrate from SwiftUI to storyboards?如何从 SwiftUI 迁移到 Storyboard?
【发布时间】:2020-03-26 20:21:03
【问题描述】:

我在 Xcode 中使用 SwiftUI 开始了一个项目,然后意识到它与 iOS 12 不兼容。

我能否在不创建新项目的情况下删除 SwiftUI 代码并开始使用情节提要?如果有,怎么做?

【问题讨论】:

  • 我喜欢给出的答案,但真的不能同意它后面的评论。 @Reedzev,请参阅我在答案中的评论。如果您需要以 iOS 12 为目标并且使用 Xcode 10 或 11,请重新开始。任何使用UIKit(视图、控制器,甚至Combine)的东西都应该能够通过文件或剪贴板轻松复制。这是一种痛苦,但把它归结为一个你永远不会再犯的错误。 :-)

标签: ios swift xcode swiftui


【解决方案1】:

如果严格来说是兼容性问题,那么答案是否定的。您用于转换的任何内容也将严格兼容#iOS 13,抱歉。

【讨论】:

  • 我的意思是,SwiftUI 在 iOS 12 上不可用,我在启动项目时没有意识到这一点。故事板是。我不想转换任何东西——只是为了删除现有的 SwiftUI 代码(因为我只在自定义键盘上工作过)并改用故事板。我创建了一个空的故事板,但不确定下一步要做什么才能让它在应用启动后出现。
  • 哦,所以您基本上只是在尝试重新启动。只需添加一个带有 viewController 类的 swift 文件。转到您的故事板文件,将其设置为初始故事板并更改其类以匹配您创建的视图控制器类 - 这应该可以工作。
  • @MichaelWells,虽然我同意您的回答,但我会extremel谨慎尝试您的评论。具体来说,创建两个“空”项目(一个 Storyboard,一个 SwiftUI)。您会看到 SwiftUI 在scene(willConnectTo:) 中使用了UIHostingController,而Storyboard 应用程序在info.plist 中使用UIMainStoryboardFile 的键。更不用说使用 Xcode 10 创建的 iOS 12 项目甚至没有SceneDelegate....
猜你喜欢
  • 1970-01-01
  • 2021-08-09
  • 2022-01-18
  • 2021-05-11
  • 2014-08-19
  • 2018-06-23
  • 2021-07-18
  • 2019-11-11
  • 2018-10-28
相关资源
最近更新 更多