0

Ich versuche, eine Tastatur zu verursachen die einzelnen Tipp, Doppeltipp und Dreifachhahn erlaubt. Daher möchte ich einen UITapGestureRecognizer() zu jeder Schaltfläche auf meiner Tastatur hinzufügen. Ich weiß, wie man das manuell aus der XIB-Datei macht (füge jedem Buchstaben seine eigene Geste hinzu, was ewig dauern würde), aber nicht ganz sicher, wie man es im Controller macht.Fügen Sie einzelne, doppelte und dreifache Antippengesten zu allen "Knöpfen" in der kundenspezifischen Tastatur in swift hinzu

Ich schrieb dies für doppeltes Tippen im viewDidLoad() -Methode:

let doubleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "doubleTapCharacter:") 
doubleTap.numberOfTapsRequired = 2 

for button in self.view.subviews{ 
     button.addGestureRecognizer(doubleTap) 
} 

und schuf eine doubleTapCharacter() -Methode, aber es funktioniert immer noch nicht. Ich möchte auch Informationen an die DoubleTapCharacter-Methode senden können.

Jede Hilfe würde sehr geschätzt werden. Außerdem bin ich sehr neu zu schnell, also wenn die Anweisungen kompliziert sind, würde ich es sehr schätzen, wenn Sie es ein wenig brechen können.

+1

Sie ** ein GestureRecognizer pro Ansicht erstellen haben **. Verschieben Sie die ersten beiden Zeilen in die for-Schleife. –

Antwort

2

erstellen und die Geste Erkenner hinzufügen:

for button in view.subviews { 
    // create the gesture recognizer 
    let doubleTapRecognizer = UITapGestureRecognizer(target: self, action: "doubleTapCharacter:") 
    doubleTapRecognizer.numberOfTapsRequired = 2 

    // add gesture recognizer to button 
    button.addGestureRecognizer(doubleTapRecognizer) 
} 

dann die Ziel Methode implementieren:

func doubleTapCharacter(doubleTapRecognizer: UITapGestureRecognizer) { 
    let tappedButton = doubleTapRecognizer.view as! UIButton 
    print(tappedButton.titleForState(UIControlState.Normal)) 
} 
+0

Awesome danke sooo viel !!! Es funktioniert jetzt!! Ich musste nur ein Ausrufezeichen am Ende der Druckanweisung '.Normal 'hinzufügen!)' – sometimes24