首页 > 解决方案 > 隐藏 CollectionViewCell 而不更新数据源

问题描述

我想使用collectionView.deleteItems(at: [IndexPath])并保持我的数据源完好无损。这种想要的行为的目的是能够将过滤器应用于我的集合视图并轻松恢复collectionView.reloadData(),并保持冷静的内置删除动画。

是否有解决方法来实现这一目标?

标签: iosswiftuicollectionviewuicollectionviewcell

解决方案


您的数据源始终需要与集合视图中显示的内容相匹配。

最简单的方法是为您的数据设置两个数组。allDatadisplayedData。您的集合视图将始终displayedData视为数据源。

如果用户添加了过滤器,您可以更新其中的值displayedData并运行您想要的动画。当用户删除过滤器时,您将displayedData重新设置为allData动画。


推荐阅读