👽

【Swift UI】ViewControllerからSwiftUIを呼び出す。

2024/01/07に公開

ViewControllerからSwiftUIを呼び出す方法

今回も自分用なので質は求めないで!

UIHostingController

UIHostingControllerは、SwiftUIのビューを管理するコントローラークラスです。
UIHostingControllerのrootViewにSwiftUIビューを指定することで作成できます。

class UIHostingController<Content> where Content : View

下記コードを見てください。
rootViewにSwiftUIView()と言うSwiftUIのビューを追加してvcに代入しています。
そして、.modalPresentationStyleで画面の遷移後の状態を決め、presentで表示しています。

let vc = UIHostingController(rootView: SwiftUIView())
vc.modalPresentationStyle = .fullScreen
present(vc, animated: true)

loadView()とかも使えるので公式ドキュメント見て!
https://developer.apple.com/documentation/swiftui/uihostingcontroller/rootview

Discussion