我正在使用UICollectionView
来显示一些数据。我在每个单元格上都有一个按钮。现在点击某个特定索引的按钮(例如:9)我想更改所有单元格的按钮图像。有人可以建议怎么做吗?
答案 0 :(得分:1)
我会遍历所有可见的单元格并更改图像。例如:
for (CustomCellClass *cell in collectionView.visibleCells) {
[cell.button setImage:[UIImage imageNamed:@"new image"] forState:UIControlStateNormal];
}
对于屏幕外单元格,当用户滚动到这些单元格时,我会确保在collectionView:cellForItemAtIndexPath:
中设置新图像。
答案 1 :(得分:0)
我们可以像这样在cellForItemAtIndexPath
添加逻辑。
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
if (self.buttonClicked) { // boolean check
[cell.newButton setImage:buttonClickedImage];
}else {
[cell.newButton setImage:buttonNotClickedImage];
}
return cell;
}
单击按钮后,您还可以重新加载所有可见单元格。
[self.collectionView reloadItemsAtIndexPaths:self.collectionView.indexPathsForVisibleItems];
随意建议编辑以使这个答案更好:)