gpt4 book ai didi

ios - 重新加载 Collection View 时虚假单元格重新排序

转载 作者:行者123 更新时间:2023-11-29 12:43:27 24 4
gpt4 key购买 nike

我正在重新加载 Collection View ,单元格重用顺序似乎是不确定的。

这本身不是问题,但我使用 SDWebImage 异步加载图像并使用 GPUImage 过滤它们(据我所知,它也是异步工作的)。结果是令人讨厌的闪烁,即使 Collection View 内容没有改变,因为它几乎总是交换相邻的单元格。

当然,我可以添加一些具有后处理图像的同步内存缓存,因此图像是在配置单元格之前设置的,而不是稍后的回调,但它是以不必要的增加为代价的复杂性,我想避免。

有没有一种方法可以“就地”重新加载单个 Collection View 单元格,而无需重复使用 Collection View 单元格?

最佳答案

应该使用批量更新来插入和删除单独的行,而不是完全重新加载。它将现有单元格保留在原位。

之前

[collectionView reloadData];

之后

[collectionView performBatchUpdates:^() {
// Use insertItemsAtIndexPaths, deleteItemsAtIndexPaths,
// insertSections, deleteSections
// to add and delete sections and rows
} completion:nil];

缺点是刷新逻辑会变得更加复杂,因为您需要区分以前和当前的数据源。

关于ios - 重新加载 Collection View 时虚假单元格重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com