Ios6 如何在ios中的特定collectionview单元格上应用手势识别器

Ios6 如何在ios中的特定collectionview单元格上应用手势识别器,ios6,uigesturerecognizer,uicollectionview,uicollectionviewcell,Ios6,Uigesturerecognizer,Uicollectionview,Uicollectionviewcell,我在特定的UICollectionViewCell上应用了手势识别器。它很好用。但在重新加载uicollectionview后,此手势识别器将应用于collectionviewcell上的rest。 假设我有10个细胞。我在第1、3、4、6、7、9个单元格上应用手势识别器。其余的第2、5、8单元没有手势识别器。它在第一次使用时效果非常好。重新加载集合视图后,第2、第5、第8个单元格也有手势识别器,但我不想要。如何解决这个问题。请帮帮我。这是因为UICollectionView重用不再可见的单元格

我在特定的UICollectionViewCell上应用了手势识别器。它很好用。但在重新加载uicollectionview后,此手势识别器将应用于collectionviewcell上的rest。
假设我有10个细胞。我在第1、3、4、6、7、9个单元格上应用手势识别器。其余的第2、5、8单元没有手势识别器。它在第一次使用时效果非常好。重新加载集合视图后,第2、第5、第8个单元格也有手势识别器,但我不想要。如何解决这个问题。请帮帮我。

这是因为UICollectionView重用不再可见的单元格。(假设您有100个单元格,并且只有8个可见-UICollectionView将保持至少8个单元格处于初始化状态,其他单元格可能会被重用)方法:
–使用ReuseIdentifier:forIndexPath:

因此,在您的方法中:

-(UICollectionViewCell*)cellForItemAtIndexPath:(NSIndexPath*)indexPath


当您将单元格出列时,您应该重置手势识别器,或者在不需要它们的情况下删除它们。这是因为UICollectionView重用不再可见的单元格。(假设您有100个单元格,并且只有8个可见-UICollectionView将保持至少8个单元格处于初始化状态,其他单元格可能会被重用)方法:
–使用ReuseIdentifier:forIndexPath:

因此,在您的方法中:

-(UICollectionViewCell*)cellForItemAtIndexPath:(NSIndexPath*)indexPath


当您将单元格出列时,您应该重置手势识别器,或者在不需要它们的情况下删除它们

您应该始终将手势识别器附加到集合视图本身,而不是特定的单元格或视图。UICollectionView类是UIScrollView的后代,因此将手势识别器附加到集合视图不太可能干扰必须跟踪的其他手势。此外,由于集合视图可以访问数据源和布局对象,因此您仍然可以访问适当操作单元格和视图所需的所有信息


您应该始终将手势识别器连接到集合视图本身,而不是特定的单元格或视图。UICollectionView类是UIScrollView的后代,因此将手势识别器附加到集合视图不太可能干扰必须跟踪的其他手势。此外,由于集合视图可以访问数据源和布局对象,因此您仍然可以访问适当操作单元格和视图所需的所有信息