UICollectionView使用中踩过的坑

UICollectionView 代理方法不响应的原因

  • 没有设置collectionView的delegate 为self
  • 有次遇到一个问题,UICollectionView的代理方法
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath

部分不响应,这个时候需要查一下下面这个代理方法是否部分返回NO

- (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath

上面的代理方法默认返回YES,如果返回NO的话,点击方法不会响应

  • 如果cell中有可以响应事件的view,如UIButton,或者添加了其他手势,则会先响应cell子view的事件
  • 检查collection view.allowsSelection 的值,如果是NO,则会屏蔽点击方法
    以上是几点点击事件不响应的原因,以后想到再补充。

你可能感兴趣的:(UICollectionView使用中踩过的坑)