2012-03-28 11 views
0

Ich habe den folgenden Code, der vier Gesten erzeugt:Können UILongPressGestureRecognizer und UISwipeGestureRecognizer zusammen verwendet werden?

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]; 

Die Pan und Longpress funktionieren, aber ich habe nie eine der Swipe-Gesten bekommen. Gibt es etwas Besonderes, um die Swipe-Selektoren aufrufen zu lassen?

Dank

Antwort

1

antwortete ich nur dieses yesterday.

Kurzform: Eine Wischgeste ist ein Spezialfall einer Schwenkgeste und standardmäßig werden keine zwei Gesten gleichzeitig erkannt. Schauen Sie in gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: und/oder requireGestureRecognizerToFail:. Sie finden weitere Hilfe für diese und ähnliche Probleme in Apple's guide.

+0

LOL, ja du hast. Ich habe das Dokument gelesen und sehe das Problem, obwohl ich keine Bestätigung finden konnte. Wenn Sie meinen obigen Code bemerken, setze ich LongTap minimumPressDuration auf 0.00. Wenn ich das mache und einen Haltepunkt bei beiden Gesten, Pan und Swipe, setze, bricht es nur bei Pan. Wenn ich jedoch die minimale PressDuration auf 0.125, 1/4 sek. Es bricht bei beiden. Ich konnte nichts finden, was dies erklärte, daher bin ich sehr enttäuscht darüber, warum die Pressezeit wichtig ist. Aber, ja, Ihre Lösung funktioniert größtenteils. – LilMoke

Verwandte Themen