swiftui - 如何在 SwiftUI 或无限 ListView 中实现列表分页?

标签 swiftui swiftui-list

我需要有关如何在 SwiftUI 中实现无限列表滚动或分页列表的帮助。提前致谢

最佳答案

最好的选择是使用 .onAppear 并计算是否需要获取下一页。这是一个人为的示例,因为通常您访问的网络或磁盘比这慢得多,但它会给您一个想法。针对您的特定用例调整 getNextPageIfNecessary(_:)

@State var rows: [String] = Array(repeating: "Item", count: 20)

var body: some View {

    List(0..<rows.count, id: \.self) { index in
        Text(verbatim: self.rows[index])
            .onAppear {
                self.getNextPageIfNecessary(encounteredIndex: index)
            }
    }
}

private func getNextPageIfNecessary(encounteredIndex: Int) {
    guard encounteredIndex == rows.count - 1 else { return }

    rows.append(contentsOf: Array(repeating: "Item", count: 20))
}

关于swiftui - 如何在 SwiftUI 或无限 ListView 中实现列表分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58103707/

相关文章:

ios - 无法在 SwiftUI 中使用 ForEach 和 CoreData 将数据正确传递给模态演示

ios - 在 SwiftUI 的列表行(TableviewCell)中单击按钮导航到详细 View

swift - 如何使用 swiftUI 在 View 主体内使用变量?

swift - 使用 SwiftUI 和 AVFoundation 捕捉视频

ios - 如何检测返回到 SwiftUI 中 NavigationView 的 Root View ?

使用 Sqlite 和 GRDB 的 SwiftUI FileDocument

ios - 当您点击另一个 TextField 时,如何获取要更新的 TextField 的绑定(bind)值?

SwiftUI 用图像包装 HStack

swiftui - 检查 pickerView SwiftUi 中的选择

ios - 如何在 SwiftUI HStack 中隐藏剪辑 View