3

我正在尝试将两个不同大小的表格添加到 SwiftUI 中的一个视图中。我希望两个表都完全展开,并且整个视图作为一个滚动。现在我只让两个表固定大小并分别滚动。

some View {
    VStack {
        Text("Table foo")
        List(foo { item in Text(item.name) })

        Text("Table bar")
        List(bar { item in Text(item.name) })
    }
}

尝试更改VStack为 a ScrollView,这让事情变得更糟 - 桌子正在变成一个衬垫。

也尝试过替换List()ForEach()但后来我失去了List()我真正想要的功能。

4

2 回答 2

6

我认为您想要一个包含多个 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())
    }
}
于 2019-12-16T06:18:43.187 回答
0

您可以使用Form在滚动视图中嵌入两个列表。

参考:https ://developer.apple.com/documentation/swiftui/form 。

于 2021-12-21T07:05:01.160 回答