UICollection视图在底部滚动时加载更多数据.ios swift



当我向下滚动到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:是的,您应该将新加载的数据添加到可变的数组中。这样做将帮助您滚动并找到先前加载的数组项目。

希望这会有所帮助。

最新更新