【发布时间】:2019-12-05 20:01:06
【问题描述】:
我在父 SwiftUI VStack 中嵌入了一个高度可变的视图控制器 UITextView,视图控制器将其框架调整为在 viewDidLoad 和 viewDidLayoutSubviews 之间的整个屏幕。 UITextView 仅扩展到自身内部的文本大小,并在父视图中居中。
我正在尝试将这个视图控制器添加到 VStack 中,并让它在外部表现得像其他 SwiftUI 组件一样 - 大小与其包含的内容完全一致 - 但它希望调整到整个屏幕的大小减去其他 VStack 元素。
我可以在didLayoutSubviews 中获取UITextView 的正确大小,并将其向上传递给可以正确设置的SwiftUI - 但我应该在哪里做呢?
在下面的示例截图中,橙色是嵌入的UIView 背景,绿色是UITextView,VStack 如下所示:
VStack {
HighligherVC()
Text("Tap and drag to highlight")
.foregroundColor(.gray)
.font(.caption)
}
【问题讨论】:
-
我有一个类似的问题,并在这里用一个可运行的例子概括了这个问题:stackoverflow.com/questions/61832221/…
标签: swiftui