当我向下滚动到UICollectionView
时,我想在UICollectionView
中加载更多数据。我找不到任何有关Swift语言的库。谁能告诉我我该怎么做?
问题1 ->当我向下滚动时如何加载更多数据
问题2 ->如果我能够在滚动到底部的更多数据,那么我应该如何添加相同的可变数组。因此,它加载了整个数据。
1)当滚动点击底部时,您可以使用
willDisplay
函数触发updateNextSet()
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
if indexPath.row == numberofitem.count - 1 { //numberofitem count
updateNextSet()
}
}
func updateNextSet(){
print("On Completetion")
//requests another set of data (20 more items) from the server.
}
2)使用现有数组和重新加载集合查看
附加新数据collectionView.reloadData()
收集视图是滚动视图的子类,因此您可以使用滚动委托方法来找出何时发生/完成卷轴。发生这种情况时,您可以检查内容偏移以确定您是否处于底部。
当您进行检查时,您还没有加载更多,您可以开始新的负载。将结果添加到您的数组中,然后重新加载收集视图(或告诉它有关插入的项目)。
以下是您问题的答案。
答案1:有一个名为svpulltorefresh的库,它将帮助您实现所需的目标。尝试在您的UICollectionView
中添加addInfiniteScrollingWithActionHandler
以获取更多负载。
答案2:是的,您应该将新加载的数据添加到可变的数组中。这样做将帮助您滚动并找到先前加载的数组项目。
希望这会有所帮助。