swiftui - 如何使一个 View 中的两个列表在 SwiftUI 中作为一页滚动?

标签 swiftui swiftui-list

我正在尝试将两个不同大小的表添加到 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) })
    }
}

尝试更改 VStackScrollView ,这让事情变得更糟 - 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/

相关文章:

ios - 列表内的 SwiftUI ScrollView 具有可怕的性能影响

ios - 列表中的奇怪按钮行为(SwiftUI)

swift - iOS 14、Swift UI 2 更改 NavigationLink 内所选列表项的背景颜色

ios - SwiftUI无法使多行路径工作

swift - 键盘调用TabBar SwiftUI 2.0中其他 View 的出现

ios - 使用 .gesture(LongPressGesture) 打破 Scrollview

swiftui - 有没有办法在 SwiftUI 列表中隐藏滚动指示器?

ios - 如何使用 SwiftUI 复制外观粗糙的笔记应用程序背景?

在另一个 View 中更新核心数据实体后,SwiftUI ListView 未更新

swiftui - 如何在不使用部分的情况下创建具有分隔成员的 SwiftUI 列表