swiftui - SwiftUI ScrollView 中包装的非滚动 UITextView 的内在高度
问题描述
我正在使用包装的UITextView
via UIViewRepresentable
。根据其内容,即(属性)字符串,该 textView 应该与所需的一样高。
struct TextView: UIViewRepresentable {
@Binding var text: String
func makeUIView(context: Context) -> UITextView {
let textView = UITextView()
textView.isScrollEnabled = false
textView.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
return textView
}
func updateUIView(_ uiView: UITextView, context: Context) {
uiView.text = text
}
}
这工作正常:
struct TextView_Previews: PreviewProvider {
static var previews: some View {
TextView(text: .constant("some multiline\na\nb\nc\nd\nlorem ipsum"))
}
}
不工作
struct TextView_Previews: PreviewProvider {
static var previews: some View {
ScrollView { // <- when placed inside ScrollView the height is reduced to one line
TextView(text: .constant("some multiline\na\nb\nc\nd\nlorem ipsum"))
}
}
}
如何解决这个问题?
解决方案
struct TextView_Previews: PreviewProvider {
static var previews: some View {
ScrollView { // <- when placed inside ScrollView the height is reduced to one line
TextView(text: .constant("some multiline\na\nb\nc\nd\nlorem ipsum"))
.frame(minHeight: 100)
}
}
}
推荐阅读
- c - 为什么 Ken Thompson 在“对信任的反思”中提到的 C 语言中的这种 quine 不起作用?
- javascript - OJET - 我如何在离开我的页面之前提醒用户?
- reactjs - 在 React 中的函数组件之外声明函数
- c# - 在 C# 中获取调用堆栈
- python - 使用 LSTM 进行多变量多步时间序列预测
- vuefire - VueFire:如何将 this.$bind('photos') 移动到组件的全局范围?
- amazon-web-services - AWS 代码管道失败
- reactjs - 类型“字符串”不可分配给类型“未定义”
- mysql - 查找运行计数器范围内的缺失值
- sql - 如何使用 RedShift 合并 2 个结果集