uicollection视图在底部滚动中加载更多数据。 iOS Swift

时间:2016-06-23 06:58:13

标签: ios swift uiscrollview uicollectionview nsmutablearray

当我向下滚动到UICollectionView时,我想在UICollectionView中加载更多数据。我没有找到任何快速语言的库。任何人都可以告诉我,我该怎么做?

问题1 - >我向下滚动时如何加载更多数据

问题2 - >如果我能够获得更多关于滚动到底部的数据,那么我应该如何添加相同的可变数组。所以它加载了整个数据。

3 个答案:

答案 0 :(得分:0)

集合视图是滚动视图的子类,因此您可以使用滚动委托方法来查找滚动发生/完成的时间。当发生这种情况时,您可以检查内容偏移量,以确定您是否在底部。

如果您正在检查并且尚未加载更多内容,则可以开始新的加载。将结果添加到您的数组,然后重新加载集合视图(或告诉它几乎插入的项目)。

答案 1 :(得分:0)

以下是您的问题的答案。

答案1:有一个名为SVPullToRefresh的库可以帮助您实现所需的目标。请尝试在addInfiniteScrollingWithActionHandler中添加UICollectionView以获得更多信息。

答案2:是的,您应该将新加载的数据添加到可变数组中。这样做可以帮助您向上滚动并找到以前加载的数组项。

希望这会有所帮助。

答案 2 :(得分:0)

Swift 3和Swift 4 :CollectionView Delegate方法

  

1)当滚动到底部时,您可以使用updateNextSet()功能

触发willDisplay
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()