如何使一个视图中的两个列表在SwiftUI中滚动为一个页面?

如何使一个视图中的两个列表在SwiftUI中滚动为一个页面?,swiftui,swiftui-list,Swiftui,Swiftui List,我正在尝试在SwiftUI中向一个视图添加两个不同大小的表。我希望两个表被完全展开,整个视图作为一个整体滚动。目前,我只得到固定大小的两个表,并分别滚动 some View { VStack { Text("Table foo") List(foo { item in Text(item.name) }) Text("Table bar") List(bar { item in Text(item.name) })

我正在尝试在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
更改为
ScrollView
,这会让事情变得更糟-表正在成为一行程序


还尝试将
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())
    }
}

你要找的不是两个不同的列表!这是一个具有自定义瀑布布局的collectionView。你可以用UIKit来做这件事