我想响应在 UICollectionView 中双击单元格,并有一个双击操作取消单元格选择。
这是我尝试过的:
UITapGestureRecognizer *tapRecogniser = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
tapRecogniser.numberOfTapsRequired = 2;
for (UITapGestureRecognizer *recogniser in [self.collectionView gestureRecognizers]) {
[recogniser requireGestureRecognizerToFail:tapRecogniser];
}
[self.collectionView addGestureRecognizer:tapRecogniser];
也就是说,如果我的双击手势识别器成功,我试图让默认手势识别器失败。
这似乎不起作用,因为我的集合视图委托collectionView:didSelectItemAtIndexPath:
在双击后仍然被调用
关于 Apple 的 UICollectionViewController 文档的注意事项
Apple 的文档在这一点上具有误导性,声称默认手势识别器是 UITapGestureRecognizer 子类的一个实例,因此可以很容易地用[recogniser isKindOfClass:[UITapGestureRecognizer class]]
. 不幸的是,这是一个错误。