我试图创建一个的列表,作为SwiftUI应用程序的一部分。我希望单个编辑器不会滚动,因为它们组成了一个更大的滚动列表。但是,当我将TextEditors添加到列表中时,它们被压缩并且每个视图都变得可滚动。是否有修饰符/技巧可以让TextEditor始终适合其文本内容而无需滚动,以便我可以实现这一点?
下面是我尝试的最小示例:
struct ParentView: View {
var items: [Item]
var body: some View {
List(items, id: \.id) { item in
EditorView(item: item)
}
}
}
struct EditorView: View {
@ObservedObject var item: Item
var body: some View {
TextEditor(text: $item.text)
}
}
如果存在平台差异,请注意这是macOS的SwiftUI应用程序,而不是iOS应用程序。
编辑:如评论中所指出的,我尝试了这种方法在SwiftUI List中包含TextEditor的动态行高但似乎没有正确地工作 - 行仍然无法正确扩展。