2010-12-30 1 views
10

UILongPressGesture ist ab Version 3.2 verfügbar. Aber ich versuche Anwendung für maximale Kompatibilität zu entwickeln und damit ios ver2.0So erhalten Sie die Funktion Lange Gestenbewegung unter iOS 3.2

Targeting Kann jemand bitte leite mich, wie

lange drücken Geste in ios v2.0 zu erreichen
+1

Beachten Sie, dass Sie iPhone OS 2.x nicht unterstützen können, wenn Sie dies für den App Store einreichen. Das von Apple akzeptierte Mindestversionsziel ist jetzt 3.0. –

Antwort

18

Für einen einzelnen Finger ist es ziemlich einfach: Starten Sie einen Timer in der touchsbegan Methode und lösen Sie eine Aktion aus, wenn der Timer ausgelöst wird. Brechen Sie den Timer ab, wenn Sie einen Touchdown erhalten, bevor er ausgelöst wird. Hier ist eine Implementierung, die die Methode performSelector ... afterDelay verwendet.

Sie werden wahrscheinlich auch den Timer beenden wollen, wenn sich der Finger zu weit bewegt.

Mit Multitouch ist es ein bisschen komplizierter. Sie müssen verfolgen, welche Berührung welche ist und entscheiden, was zu tun ist, z.B. wenn ein Finger lange genug gedrückt hat, aber der andere nicht (oder herauszufinden, was UILongPressGestureRecognizer tut).

+5

Ich musste stattdessen '[NSObject cancelPreviousPerformRequestsWithTarget: self]' 'verwenden. –

1

Umsetzung der touches... Methoden aus Ihrer Sicht. Wenn eine bestimmte Zeit zwischen und touchesEnded:withEvent: ohne touchesMoved:withEvent: Ereignisse vergeht, haben Sie einen langen Zeitraum.