如何将 Storyboard ViewController 添加到 SwiftUI 项目中?

Naj*_*jam 3 xcode storyboard ios swift swiftui

我正在处理我的 SwiftUI 项目,现在每个视图都在 SwiftUI 中,但是由于 SwiftUI 的一些限制,我必须将 Storyboard 的 ViewControllers 添加到我的 SwiftUI 项目中。我正在尝试这种方法,

struct AssetsListView: UIViewControllerRepresentable {

var taskID : String
public typealias UIViewControllerType = AssetsListViewController

func makeUIViewController(context: UIViewControllerRepresentableContext<AssetsListView>) -> AssetsListViewController {
    let assetsListVC = AssetsListViewController()
    assetsListVC.taskID = taskID
    return assetsListVC

}
func updateUIViewController(_ uiViewController: AssetsListViewController, context: UIViewControllerRepresentableContext<AssetsListView>) {


}  
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,甚至我的故事板的 ViewController 调用的 viewDidLoad() 方法,但我无法在我的故事板屏幕上看到任何元素。我该如何渲染这些元素?就像普通的故事板一样。

Asp*_*eri 7

您刚刚通过类初始化程序创建了控制器,要从情节提要中实例化它,您必须执行以下操作

func makeUIViewController(context: 
         UIViewControllerRepresentableContext<AssetsListView>) -> AssetsListViewController {
    let storyboard = UIStoryboard(name: "Main",     // < your storyboard name here
          bundle: nil)
    let assetsListVC = storyboard.instantiateViewController(identifier: 
          "AssetsListViewController")      // < your controller storyboard id here

    assetsListVC.taskID = taskID
    return assetsListVC

}
Run Code Online (Sandbox Code Playgroud)