0

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

[cat setUserInteractionEnabled:NO];

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

[cat setHidden:YES];

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

4

1 回答 1

0

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

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

无论添加了哪个视图 tapRecognizerToDisable,这都将起作用。

于 2013-09-06T09:57:41.950 回答