如何在 SwiftUI 或无限列表视图中实现列表分页?
Posted
技术标签:
【中文标题】如何在 SwiftUI 或无限列表视图中实现列表分页?【英文标题】:How do you implement list paging in SwiftUI or infinite list view? 【发布时间】:2019-09-25 17:28:22 【问题描述】:我需要有关如何在 SwiftUI 中实现无限列表滚动或分页列表的帮助。在此先感谢
【问题讨论】:
请提供一些代码或示例以获得更好的解决方案! 【参考方案1】:您最好的选择是使用.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 中创建一个列表视图,每个列表项都是一个 WKWebView(我的实现非常慢并且有问题)
SwiftUI 2.0如何实现List整组或组内部分子项的多选功能