iphone - жест с одним касанием конфликтует с двойным - PullRequest
29 голосов
/ 24 августа 2011

У меня есть вид.Я хочу определить виды жестов касания для него.

Так что, если пользователь одним нажатием на вид, вид сделает A;и если пользователь дважды нажмет на представление, он будет делать B, не делая A.

Я добавил два UITapGestureRecognizer к представлению.единственное нажатие с numberOfTapsRequired = 1;и двойное касание с numberOfTapsRequired = 2;

Также я установил return NO для

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
     return NO;
}

Однако я обнаружил, что они конфликтуют друг с другом.Я имею в виду, что даже если я дважды коснусь вида, будут вызваны и A, и B.

Как я могу решить эту проблему?

Спасибо

1 Ответ

65 голосов
/ 24 августа 2011

Вы можете обойти это, добавив следующую строку кода. Это обеспечит срабатывание распознавателя одного касания только при сбое распознавателя двойного касания:

    [singleTapRecognizer requireGestureRecognizerToFail:doubleTapRecognizer];
...