如何从外部 UICollectionView 更改 UICollectionView 单元格背景颜色

How To Change UICollectionView Cell Background Colour From Outside UICollectionView

我有一个可点击的饼图,每个部分代表 UICollectionView 中的一个单元格。单击饼图部分时,我想更改它对应的单元格的背景颜色。我正在使用以下但没有任何反应。

- (void)pieChart:(XYPieChart *)pieChart didSelectSliceAtIndex:(NSUInteger)index {

NSIndexPath *path = [NSIndexPath indexPathWithIndex:index];

[[self.collectionCategories cellForItemAtIndexPath:path] setBackgroundColor:[UIColor blueColor]];

}

任何想法,谢谢。

我认为问题在于您创建索引路径的方式。你应该这样做(假设你只有一个部分),

 NSIndexPath *path = [NSIndexPath indexPathForItem:index inSection:0];

table 视图或集合视图的 indexPath 需要同时指定部分和行。如果你记录上面方法创建的索引路径,你会看到它的长度是 2,而你原来的方式,长度只有 1。