Weiß UIGestureRecognizer, an welchem ​​Objekt es aufgerufen wird?

7

Ich habe einen UIGestureRecognizer, mit dem ich an zwei verschiedenen UIViews arbeiten möchte, die sich beide in derselben View-Hierarchie eines UiViewControllers befinden. Die Aktion des UIGestureRecognizers ist bei jedem in etwa gleich, daher möchte ich, dass die gleiche Funktion aufgerufen wird (das wird offensichtlich) und ich werde zur Laufzeit sagen, mit welchem ​​der UIViews ich es zu tun habe. Aber wie? Ich kann nicht sehen, dass der UIGestureRecognizer die Objektinformationen mit sich trägt. Fehle ich die Zeile in der Dokumentation oder weiß der GestenRecognizer nicht, an welches Objekt das angefügt wurde? Scheint so, als ob der Punkt der Sprache es wäre, würde es wissen.

Alternativ kann ich vielleicht die Absicht der Klasse missverstehen und ich sollte nicht:

%Vor%

und dann erwarten zu können:

%Vor%

Wenn UIGestureRecognizer tatsächlich nicht gleichzeitig an mehrere Objekte angefügt werden kann, wenn Sie wissen, warum dies nicht unterstützt wird, könnten Sie mich dann erziehen? Danke für die Hilfe.

    
StoneBreaker 24.04.2012, 05:48
quelle

3 Antworten

21

Der Standard ist eine Ansicht pro Erkenner. Aber Sie können trotzdem effizient eine Handler-Methode verwenden.

Sie würden die Recognizer wie folgt instanziieren:

%Vor%

Dann könnte Ihre Handler-Methode etwa wie folgt aussehen:

%Vor%     
NJones 24.04.2012, 06:08
quelle
0

Sie können ein Tag zum Anzeigen zuweisen und dann einfach dieses Tag vergleichen und eine Aktion ausführen.

%Vor%

Und während Sie anrufen

%Vor%     
Mani 30.01.2017 11:45
quelle
-1
%Vor%     
Mil0R3 24.04.2012 06:21
quelle