我正在尝试将两个不同大小的表添加到 SwiftUI 中的一个 View 中。我希望两个表都完全展开,并且整个 View 作为一个滚动。现在我只让两个表固定大小并分别滚动。
some View {
VStack {
Text("Table foo")
List(foo { item in Text(item.name) })
Text("Table bar")
List(bar { item in Text(item.name) })
}
}
尝试更改
VStack
到 ScrollView
,这让事情变得更糟 - table 正在变成一个衬垫。还尝试更换
List()
与 ForEach()
但后来我失去了 List()
的功能我其实想要。
最佳答案
我认为您想要一个包含多个 ForEach 的列表。或者,您可以将其设为具有多个部分的分组列表。针对您的示例进行了调整,以下概念在很多情况下对我都很有效:
struct SwiftUIView: View {
var body: some View {
List {
Section(header: Text("Table foo"))
{
ForEach(foo) { item in Text(item.name) }
}
Section(header: Text("Table bar"))
{
ForEach(bar) { item in Text(item.name) }
}
}
.listStyle(GroupedListStyle())
}
}
关于swiftui - 如何使一个 View 中的两个列表在 SwiftUI 中作为一页滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58494117/