所选单元格UICollectionView的IndexPath

时间:2015-05-27 10:55:56

标签: ios8 uicollectionview nsindexpath

我目前正在开发一个显示各种单元格的UICollectionView ......

到目前为止一直很好,但我对单元格的选择有问题...例如,我实现了这样的选择方法:

    - (Void)collectionView:(UICollectionView *) collectionView didSelectItemAtIndexPath:(NSIndexPath *) indexPath {
        

          UICollectionViewCell theCell * = (UICollectionViewCell *) [CollectionView cellForItemAtIndexPath: indexPath];

         theCell.backgroundColor = [UIColor orangeColor];
        
}

问题是,除了制作橙色外,当我浏览集合视图时,所选单元格还会创建其他选择..

示例:选择单元格编号7并自动选择单元格编号14 ...显然我不需要这个但我希望它只保留选中的单元格编号7

我在哪里做错了?我的indexPath有问题吗?

1 个答案:

答案 0 :(得分:0)

方法

中的

(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

像这样添加......:

UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"yourCelId" forIndexPath:indexPath];


if (cell.selected) {
     cell.backgroundColor = [UIColor orangeColor]; 
} else {
     cell.backgroundColor = [UIColor clearColor];
}   

这是因为细胞被重复使用,你必须重置所有可以改变的值。