我有一个SwiftUI视图,它是两个视图的HStack
:
1.一个简单的Text
视图,它就像一个标签,并且总是一行
2.一个自定义UIKit视图,它是UITextView
,具有很多自定义格式
我的愿望是限制UITextView
的高度以匹配Text
视图的高度(单行,高度取决于系统字体,等等)。我已经尝试了许多方法来解决此问题,但似乎找不到有效的方法。 GeometryReader
似乎仅将父级属性传递给子级,但不能解决“同级”问题。
有什么想法或见识吗?
答案 0 :(得分:1)
这里是可能的布局演示。经过Xcode 11.4 / iSO 13.4的测试
注意:添加.border
和.padding
只是为了演示和更好的可见性。重要的地方标有注释。 MultilineTextView
是UITextView
struct DemoFixedToLabel: View {
var body: some View {
HStack {
Text("Some Text").font(Font.system(.title))
.padding()
.border(Color.blue)
.fixedSize() // << here !!
MultilineTextView(text: .constant("My desire is to restrict the height of the UITextView to match the height of the Text"))
.border(Color.green)
}
.padding()
.border(Color.red)
.fixedSize(horizontal: false, vertical: true) // << here !!
}
}