我想响应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];
Run Code Online (Sandbox Code Playgroud)
也就是说,如果我的双击手势识别器成功,我试图让默认手势识别器失败.
这似乎不起作用,因为我的集合视图委托collectionView:didSelectItemAtIndexPath:仍然在双击后被调用
Apple的文档在这一点上有误导性,声称默认手势识别器是UITapGestureRecognizer子类的一个实例,所以可以很容易地选择它[recogniser isKindOfClass:[UITapGestureRecognizer class]].不幸的是,这是一个错误.
objective-c uikit ios uitapgesturerecognizer uicollectionview