Два пальца проведите пальцем. Один перетянул перетащите в iOS - PullRequest
1 голос
/ 06 июля 2011

В моем приложении у меня есть UIView производный класс Canvas, который использует touchesBegan: withEvent:, touchesMoved: withEvent: и touchesEnded: withEvent: для рисования на холсте.Я также хочу использовать салфетки для загрузки предыдущего (или следующего) холста в массиве.Я попытался настроить следующий жест (и аналогичный для правого):

UISwipeGestureRecognizer* leftSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget: self action: @selector(pageFlipNext)];
leftSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
leftSwipe.numberOfTouchesRequired = 2;
[_canvas addGestureRecognizer: leftSwipe];
[leftSwipe release];

Но мои два пальца по-прежнему считаются односторонними инструкциями по рисованию.Как мне заставить мое приложение правильно обрабатывать двухпальцевый удар?

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Прежде всего, я бы начал проверять, установлено ли _canvas.multipleTouchEnabled на YES.Если это не так, установите значение YES.

Возможно, вы также захотите рассмотреть

leftSwipe.delaysTouchesBegan = YES;

Это задержит отправку касаний на _canvas до тех пор, пока не произойдет сбой жеста.Вы также можете использовать UIPanGestureRecognizer и сделать что-то вроде этого,

[pan requireGestureRecognizerToFail:leftSwipe];
0 голосов
/ 06 июля 2011

Я думаю, что вы можете использовать UIPanGestureRecognizer

UIPanGestureRecognizer - это конкретный подкласс UIGestureRecognizer, который ищет панорамирование (перетаскивание) жестов.Пользователь должен нажимать одним или несколькими пальцами на виде во время панорамирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...