UIGestureRecognizer 确定点击

UIGestureRecognizer Determine Tap

我在 SO 上遵循了这个答案:

但我得到一个错误 "Expected Expression"。我做错了什么?

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;
{
    BOOL shouldReceiveTouch = YES;

    if (gestureRecognizer == tap) { //Expected Expression
        shouldReceiveTouch = (touch.view == _shownImage);
    }
    return shouldReceiveTouch;
}

你可以查看 UIGestureRecognizer class

-(BOOL) gestureRecognizer: (UIGestureRecognize *) gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer *) otherGestureRecognizer {
if ([gestureRecognizer isMemberOfClass: [UITapGestureRecognizer class]]) {

shouldReceiveTouch = (touch.view == _shownImage);    

     }
}

您必须检查您的 tap(UITapGestureRecognizer) 手势是否是 isMemberOfClassUIGestureRecognizer 的成员。

-(BOOL) gestureRecognizer: (UIGestureRecognize *) gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer: (UIGestureRecognizer *) otherGestureRecognizer {
    if ([gestureRecognizer isMemberOfClass: [tap class]]) {// please check this one
    }
   }