1

尝试在 UICollectionView 中选择多个单元格,并且在滚动时选择更改。为什么会这样,请指导。下面是代码。我试过了。

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
printf("Selected View index=%d",indexPath.row);

itemPaths  = [self.collectionView indexPathsForSelectedItems];

UICollectionViewCell* cell=[self.collectionView cellForItemAtIndexPath:indexPath];
cell.contentView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blue_s.png"]];
}

- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell* cell=[self.collectionView cellForItemAtIndexPath:indexPath];
cell.contentView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yellow_seat.png"]];

}

我还应该尝试什么。

4

2 回答 2

0

由于您可能会重复使用您的单元格,因此当您将单元格退回 (cellForItemAtIndexPath) 时,您需要检查是否选择了 indexPath 并为您的单元格着色。您可能也希望对单元格进行脱色,因为重用功能可能会在某些情况下不应该发回着色的单元格。

于 2013-06-10T23:47:35.770 回答
0

您可以做一件事来解决此问题,您可以使用 UICollection View 的自定义单元格为每个单元格添加标签,以便它具有唯一标识

于 2013-05-21T05:34:55.593 回答