Posted at

[SwiftUI]UIHostingControllerの最小サイズを取得する

SwiftUIをUIKitの世界に連れてくるにはUIHostingControllerを利用し、UIKitのコンポーネントとしてコンテナ化します。

モーダルなどとして利用する場合は、UIHostingControllerをそのまま使えば良いですがコンテナビューとして使いたい時は最小サイズが知りたくなります。

sizeThatFitsのメソッドが生えているので、そこに対してInt.maxのサイズを渡してあげれば最小をとることができます。

let hostingController = UIHostingController(rootView: content())

let size = hostingController.sizeThatFits(in: CGSize(width: Int.max, height: Int.max))