如何在 UICollectionView 中强制重新加载自定义单元格?

Posted

技术标签:

【中文标题】如何在 UICollectionView 中强制重新加载自定义单元格?【英文标题】:How to reload custom cells forcefully in UICollectionView? 【发布时间】:2017-02-22 11:21:44 【问题描述】:

UIViewController 中,我有一个UICollectionViewUICollectionViewCells 包含图表(Piecharts and Bar charts)。

图表的delegatesdatasourceUICollectionViewCell 中,viewdidload 本身从NSUserdefault 加载图表。

问题:

当新数据到来时,我们如何重新加载单元格。已经加载的单元格不会重新加载。它与旧数据保持不变。但是之前未加载的单元格正在加载新数据。我们如何使用来自NSuserdefault 的新数据强制重新加载完整的单元格。

【问题讨论】:

yourCollectionview.reloadData() 简单 在调用 reload() 时。数据加载的单元格保持不变,因为图表数据源位于单元格子类中,并且不会用新数据重绘单元格。只是用旧数据保持旧平局 @Abbut John 在获取数据后在主线程上执行 collectionviewname.reloadData()。 您使用的arraydictionary 用于UICollectionView,获取数据后只需删除其所有以前的值并分配新值并重新加载UICollectionView 【参考方案1】:

您只需获取要在其中重新加载单元格的数组索引。

[_collectionView performBatchUpdates:^
    [_collectionView reloadItemsAtIndexPaths:@[[NSIndexPath x inSection:0]]];
 completion:^(BOOL finished) ];

快乐编码:)

【讨论】:

【参考方案2】:

在collection view cell内设置picchart的数据源和delegate for index path处的行。

【讨论】:

以上是关于如何在 UICollectionView 中强制重新加载自定义单元格?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 UICollectionView 在 Pages 中重新创建重命名动画?

强制触摸 UITableViewCell 内的 UICollectionView

如何在 NSScrollView 中强制重绘内容

如何检查 UICollectionView 有图像

如何强制重绘列表视图?

更改某些属性后如何强制重绘小部件?