首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有当用户滚动时才将数据拉到collectionView中?

只有当用户滚动时才将数据拉到collectionView中?
EN

Stack Overflow用户
提问于 2016-05-11 14:58:17
回答 1查看 598关注 0票数 0

有一个collectionView,它可能会根据数据加载大量单元格。目前,我的体系结构是viewDidLoad (先从datasource获取25 ),然后在willDisplayCell中使用(在25组中获取数据源的其余部分,直到达到速率限制)。问题是,它似乎一次就把所有的数据都删除了。我不想为单元格提取更多的数据,除非用户正在滚动(即,除非需要显示这些单元格)。我该怎么做?

我知道我需要与cellindexPathwillDisplayCell中工作,但我不能把它整合在一起吗?

代码语言:javascript
复制
override func viewDidLoad() {
        super.viewDidLoad()

        getFirstPinsAndImages()

    }

override func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {

            if maxExceeded == false {
            getRestOfPinsAndImages()
            }



    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-11 15:59:19

我需要做的是将数据调用限制在只有当indexPath.row of willDisplayCell (即即将显示的行)大于节中的项目数(单元格加载)减去一些任意数字(以便为加载时间提供缓冲区)时:

代码语言:javascript
复制
 override func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {

        if indexPath.row > (self.collectionView(collectionView, numberOfItemsInSection: 0) - 10) {
            if maxExceeded == false {
                getRestOfPinsAndImages()
            }
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37166423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档