首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除了可见的单元外,UICollectionView加载更多的单元。

除了可见的单元外,UICollectionView加载更多的单元。
EN

Stack Overflow用户
提问于 2017-11-02 05:29:54
回答 1查看 820关注 0票数 2

我有一个UICollectionView,它有2k+记录。在任何时候,只有6-7行将是可见的,我正在使用可重用的单元格。一切都很好。

但是,当我在cellForRowAtIndexPath中创建控制台日志时,最初80+行将被加载。之后,它再次加载前7行,并正确地只加载可见的单元格。

为什么它最初加载80+行。这使得初始加载稍有滞后。

代码语言:javascript
复制
func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 1
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return results.count
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    print("Cell For Row -> \(indexPath)")

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ResultCell", for: indexPath) as! ResultCell
    cell.data = result[indexPath.item]
    return cell    
}

更新:

我用的是自动大小的电池。所以我把estimatedItemSize定义为UICollectionViewFlowLayoutAutomaticSize

我尝试定义一个正确的CGSize而不是UICollectionViewFlowLayoutAutomaticSize。额外的细胞停止加载。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-02 07:39:41

在执行自动大小单元时,我们给出了estimatedItemSize。

在使用UICollectionViewFlowLayoutAutomaticSize进行estimatedItemSize时,集合视图尝试加载可数个单元格(可见和不可见)并获得估计的大小。

如果给定适当的CGSize (估计值),则额外的单元格(不可见)将被加载得更少。因此,您估计的大小越近,加载的不可见单元就越少。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47068210

复制
相关文章

相似问题

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