Code Bye

UICollectionView与UICollectionViewCell怎么样区分手势

本人现在想添加在Cell之外但属于CollectionView之内区域的手势,但是假如点击Cell也会被CollectionView捕获到,而且无法通过isKindOfClass区分,问一下有什么方法可以实现吗?
解决方案:10分
这就比较简单,你无非是想既触发didSelectItemAtIndexPath方法,又能在CollectionView自身上处理TapGesture。
你先往CollectionView上加一个TapGesture,然后你就发现didSelectItemAtIndexPath触发不了了,这种情况下,你实现TapGesture的delegate,即UIGestureRecognizerDelegate,加上这个处理就行了:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if (touch.view != self.collectionView) {
        return NO;
    }
    
    return YES;
}
解决方案:10分
selector还是写你之前的selector,但是要加一句:
tapGestureRecognizer.delegate = self;
然后你的self要实现UIGestureRecognizerDelegate协议,其中就有gestureRecognizer:shouldReceiveTouch:方法

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明UICollectionView与UICollectionViewCell怎么样区分手势