更改所有集合视图单元格中的视图

问题描述 投票:2回答:1

我有一个收藏视图,其中每个单元都有一个视频(通过AVPlayer播放)和一个红色圆圈。单击视图控制器中的按钮时,所有单元格圆圈的颜色应更改为蓝色,然后再次单击将其更改为红色。

因此,我需要做的是:在控制器视图中单击该按钮时,请更改所有单元格(无论是否可见)中的圆形视图。我之所以说不可见,是因为我一次只在屏幕上显示一个单元格。用户滑动即可转到下一个单元格。

我已经尝试过在单击按钮时使用reloadData()更新所有单元格的圆圈,但是,我发现的问题是视频会重新设置为开始(我不需要这样做,不仅是为了可见单元格,但适用于所有单元格。

我还有其他选择吗?

ios swift uicollectionview swift4 swift5
1个回答
0
投票

当点击视图控制器中的按钮时,您需要更改要在集合视图中加载的数据/集合/数据数组。为了获得结果(例如didSelectItemAtIndexPath:(NSIndexPath *)indexPath),您应该更改该特定单元格/集合项的数据模型。您可以为集合视图数据模型添加实例属性isSelected

在您的情况下,调用重载数据将调用所有UICollectionViewDelegate & UICollectionViewDataSource方法,但是由于尚未使用更改数据,因此结果/ UI返回初始状态。

© www.soinside.com 2019 - 2024. All rights reserved.