4

我需要在 tableView 中禁用滚动并根据其内容增加高度。下面是我在 swiftUI 中的表格视图代码,请给我指导

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)
    }
4

1 回答 1

0

您可以通过删除列表并将其交换为 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)

}
于 2020-03-30T08:16:18.437 回答