ViewController内でSwiftUIで構成したViewを使う
ViewController内でSwiftUIのViewを使用したい場合は、以下のように、SwiftUIのViewをUIHostingControllerでラップして使用できるようになります。
import SwiftUI
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// UIHostingViewControllerでSwiftUIのViewをラップする
let vc: UIHostingController = UIHostingController(rootView: SampleView())
// UIHostingViewControllerを子要素に追加
self.addChild(vc)
// UIHostingViewControllerのViewを追加
self.view.addSubview(vc.view)
// ViewControllerに処理が終了したことを伝える
vc.didMove(toParent: self)
}
}
struct SampleView : View {
var body: some View {
Text("SampleView")
}
}