UIGestureRecognizer Bewegungseinschränkungen

8

Ich möchte wissen, ob es eine Möglichkeit gibt, die Größe oder Bewegungen der UIViews in den GestureRecognizers einzuschränken.

Natürlich könnte ich meinen eigenen Restriktionscode schreiben, aber ich wüsste, ob wir eine Eigenschaft oder etwas festlegen können, um bestimmte Grenzen zu haben.

Zum Beispiel in UIPanGestureRecognizer Ich möchte die Bewegung der Ansicht einschränken, die zu PanGesture innerhalb eines bestimmten CGRect hinzugefügt wurde, also gibt es irgendeine Möglichkeit, diese Begrenzung zu setzen, wenn% ce_de% erkannt wird, wenn die Ansicht läuft außerhalb meines Rahmens wird es nicht erlaubt.

    
rkb 10.11.2010, 14:52
quelle

2 Antworten

1

Ich denke, der einfachste Weg, dies zu erreichen, besteht darin, eine unsichtbare Ansicht in diesem Rechteck zu erzeugen und die Geste hinzuzufügen. Beispiel: Sie möchten die Bewegung in Ansicht X innerhalb des Rechtecks ​​{a, b, c, d} erkennen. Erstellen Sie eine UIView Y in der {a, b, c, d} rect. Stellen Sie die Hintergrundfarbe auf clearColor ein. Erstellen Sie den Gestenerkenner und fügen Sie ihn der Y-Ansicht hinzu. Im Selektor der Geste machen Sie etwas wie folgt:

%Vor%

Wenn Sie das Rechteck ändern müssen, in dem die Geste aktiv sein soll, bewegen Sie einfach die Y-Ansicht und voila!

BEARBEITEN:

Sie können auch den UIGestureRecognizer-Delegaten verwenden und in dieser Methode TRUE oder FALSE zurückgeben:

%Vor%

abhängig von der Position dieses Touch-Arguments. Eigentlich ist das die Methode, die Apple in einem ihrer WWDC-Session-Videos vorschlägt. Und es ist besser, da Sie keine andere Ansicht hinzufügen und den Speicher auffüllen müssen.

    
George 10.05.2012 10:27
quelle
0

soweit ich weiß, müssen Sie das selbst schreiben.

Mit den

Tippgesten können Sie festlegen, wie viele Tippvorgänge Sie mit wie vielen Fingern beantworten, aber die meisten von ihnen bieten nicht viele Helfer.

    
Tyler Zale 11.08.2011 23:59
quelle