Вы также можете использовать gestureRecognizer:shouldReceiveTouch:
метод UIGestureRecognizerDelegate
, который задокументирован здесь , чтобы выполнить то же самое.Он предлагает немного больше гибкости, например, если вы хотите отменить некоторые касания, но не другие.Вот пример,
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.view.superview isKindOfClass:[UIButton class]]) return NO;
return YES;
}