Как добавить Storyboard ViewController в проект SwiftUI? - PullRequest
1 голос
/ 06 марта 2020

Я работаю над своим проектом SwiftUI, и каждый View теперь находится в SwiftUI, однако из-за некоторых ограничений SwiftUI мне необходимо добавить ViewControllers Storyboard в мой проект 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>) {


}  
}

. Он работает нормально, и даже метод viewDidLoad () для моих вызовов ViewController в Storyboard, но я не вижу ни одного элемента на экране Storyboard. Как я могу сделать эти элементы? Так же, как и обычные раскадровки.

1 Ответ

2 голосов
/ 06 марта 2020

Вы только что создали контроллер инициализатором класса, чтобы создать его экземпляр из раскадровки, вам нужно сделать следующее:

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

}
...