2015-05-29 17 views
6

Ich habe uipageviewcontroller, die VCs enthält. Wie in jedem Seitenaufruf-Controller können Sie nach links und rechts wischen, um VCs zu ändern. Jedes Mal, wenn die Animation beendet wird, füge ich sie dem GestenRecognizer hinzu. Meine Frage ist, wie man überprüft, ob bestimmte Erkennungen haben oder nicht? Ich brauche Code wie folgt:nach spezifischen Gestenerkennung suchen

if check view has specific recognizer == false { 
add recognizer 
}else{ 
just skip. 
} 

Ich mache es, weil ich sidebarmenu habe. Wenn Sidebarmenü angezeigt wird, möchte ich eine Geste für den aktuellen Indexseitencontentviewcontroller hinzufügen. Also, Mein Code funktioniert gut, ich möchte einfach nicht jedes Mal, wenn die Animation beendet ist, eine Geste hinzufügen.

Ich füge Code hinzu. Das Problem ist, dass meine Gesten in anderen Klassen (nicht aktuell) erstellt werden. Zuerst erschaffe ich die Instanz der Klasse, wo ich Gesten halten:

let transtionManger = TransitionManger() 

Nachdem ich var dieser Klasse hinzufügen, die exitPanGesture benannt:

pageContentViewController.view.addGestureRecognizer(transtionManger.exitPanGesture3) 

Das Problem ist, ich es hinzufügen, jedes Mal wenn der Blick erscheint. Ich möchte die Existenz der Geste prüfen, bevor ich sie hinzufüge. Ich möchte es nicht jedes Mal hinzufügen.

Antwort

6

Ist es das wonach Sie suchen? Bitte beachten Sie Kommentare als Erklärung:

0

Es ist nicht so klar zu verstehen, was Sie wollen. Wenn Sie die Geste, die Sie eingegeben haben, im Auge behalten möchten, können Sie eine statische Variable in Ihrem View-Controller speichern und prüfen, ob sie nicht null ist. Auf diese Weise wird die Geste im Speicher gehalten.