禁用TapGestureRecognizer以获取特定图像

时间:2013-09-06 09:14:52

标签: iphone ios uigesturerecognizer

我在视图上有4张图片。其中3个被分配了TapGestureRecognizer&另一个是PanGestureRecognizer。现在我想在一段时间后仅为1个特定图像禁用TapGestureRecognizer。为此我做了:

[cat setUserInteractionEnabled:NO];

但它不会禁用TapGestureRecognizer。然后也这样做了:

[cat setHidden:YES];

他们都没有工作。这里cat是我要禁用TapGestureRecognizer的图像。解决办法是什么?提前谢谢。

1 个答案:

答案 0 :(得分:0)

设置识别器的委托并实现此方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if (gestureRecognizer == tapRecognizerToDisable && 
    CGRectContainsPoint(_imageToDisable.bounds, [touch locationInView:_imageToDisable]))
        return NO;
    else
        return YES;
}

无论添加哪个视图tapRecognizerToDisable,都可以这样做。