![](/img/trans.png)
[英]UIHostingController in share extension does not resize it's root view
[英]How to resize UIHostingController to wrap it's SwiftUI View?
我有一個基本的 SwiftUI 組件。
struct PopupModal: View {
var body: some View {
Text("Hello, World!")
}
}
struct PopupModal_Previews: PreviewProvider {
static var previews: some View {
PopupModal()
}
}
我有一個UIViewController
,我想實例化這個組件並顯示它。
private let _popup = PopupModal()
private lazy var _popupController = UIHostingController(rootView: _popup)
override public func viewDidLoad() {
// ...
self.addChild(_popupController)
view.addSubview(_popupController.view)
_popupController.didMove(toParent: self)
}
override public func viewDidLayoutSubviews() {
// How do I make this automatic or as a function of the size of _popup?
let popupHeight = CGFloat(260)
_popupController.view.frame = CGRect(x: 15, y: view.bounds.height - popupHeight - 20, width: view.bounds.width - 30, height: popupHeight)
}
顯示了PopupModal
,但我正在手動調整它的高度。 如何根據內容的大小調整它的大小?
您可以使用
_popupController.view.sizeToFit()
使視圖最初適合其內在內容,並在添加到超級視圖后使用自動布局約束根據需要對其進行布局。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.