我需要禁用 tableView 中的滚动并根据其内容增加高度。下面是我在 swiftUI 中的表格 View 代码,请给我指导
var body: some View {
List{
ForEach(testData){ data in
VStack(alignment: .leading){
HStack{
Image(data.name)
.resizable()
.frame(width: 50, height: 50, alignment: .leading)
VStack(alignment: .leading){
Text(data.name)
.bold()
Text(data.bio)
.font(.subheadline)
}
}
}
}
}
.offset(y:-60)
.padding(8)
}
最佳答案
您可以通过删除列表并将其替换为 VStack 来实现此目的。然后,您将在每个 VStack 元素的末尾使用分隔符,并添加水平填充,这会产生与列表相同的效果,但使其不可滚动,并且会根据元素调整高度。
VStack{
ForEach(testData){ data in
VStack(alignment: .leading){
HStack{
Image(data.name)
.resizable()
.frame(width: 50, height: 50, alignment: .leading)
VStack(alignment: .leading){
Text(data.name)
.bold()
Text(data.bio)
.font(.subheadline)
}
}
}
}
Divider()
.padding(.horizontal)
}
.offset(y:-60)
.padding(8)
}
关于uitableview - 如何在 SwiftUI 中根据内容大小设置 tableview 高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59248071/