2012-03-28 3 views
0

У меня есть следующий код, который создает четыре жестов:Может ли использоваться UILongPressGestureRecognizer и UISwipeGestureRecognizer вместе?

self.userInteractionEnabled = YES; 

UIPanGestureRecognizer * panGesture = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePan:)]; 
[panGesture setDelegate:self]; 
[self addGestureRecognizer:panGesture]; 

UILongPressGestureRecognizer * longPressGesture = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(handleLongPress:)]; 
longPressGesture.minimumPressDuration = 0.00; 
[self addGestureRecognizer:longPressGesture]; 

UISwipeGestureRecognizer * swipeUp = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeUp:)]; 
swipeUp.direction = UISwipeGestureRecognizerDirectionUp; 
[self addGestureRecognizer:swipeUp]; 

UISwipeGestureRecognizer * swipeDown = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipeDown:)]; 
swipeDown.direction = UISwipeGestureRecognizerDirectionDown; 
[self addGestureRecognizer:swipeDown]; 

Пан и LongPress прекрасно работают, но я никогда не любой из сенсорных. Есть ли что-то особенное, что мне нужно сделать, чтобы вызвать селектор салфеток?

Благодаря

ответ

1

Я просто ответил на этот yesterday.

Краткая форма: жестом салфетки является особый случай жесты панорамирования, и по умолчанию никакие два жестов не распознаются одновременно. Посмотрите на gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: и/или requireGestureRecognizerToFail:. Дополнительную помощь по этому и связанным с этим вопросам вы найдете в Apple's guide.

+0

LOL, да вы сделали. Я прочитал документ, и я вижу проблему, хотя я не мог найти подтверждения. Если вы заметили мой код выше, я установил значение LongTap minimumPressDuration равным 0,00. Когда я делаю это, и я устанавливаю точку останова при обоих жестах, Pan и Swipe, он ломается только на Pan. Однако, если я отправил minimumPressDuration в 0.125, 1/4 сек. он ломается на обоих. Я не мог найти ничего, что объясняло бы это, поэтому я нахожусь в нерешительности относительно того, почему важно значение PressDuration. Но, да, ваше решение работает по большей части. – LilMoke

Смежные вопросы