Frage

Wie kann ich die Tastatur schließen, wenn der Benutzer auf eine Schaltfläche klickt?Ein kurzes Beispiel zum besseren Verständnis:Der Benutzer bearbeitet Text in einigen Textfeldern und klickt am Ende nicht auf „Fertig“ oder etwas anderes auf der Tastatur, sondern klickt auf die Schaltfläche „Speichern“, während die Tastatur weiterhin angezeigt wird.Wie kann ich nun die Tastatur deaktivieren?

Danke.Grüße, Daniel

War es hilfreich?

Lösung

in der Schaltfläche Aktion schreiben,

if([textField isFirstResponder]){
  [textField resignFirstResponder];
}

Wenn es jedes Mal mehr Textfelder gibt, die die aktuelle Textfeldreferenz während der Bearbeitung erhalten, und den Responder in der Schaltflächenaktion zurückzeigen.

Andere Tipps

Sie können auch anrufen [view endEditing:YES] in jeder Ansicht über dem Textfeld in der Hierarchie.Dies ist nützlich, wenn Sie nicht sicher sind, welches Textfeld den Status „Ersthelfer“ hat.Optional kann auch ein Textfeld-Delegierter die Aktion stoppen (indem NO von ShouldEndEditing: zurückgegeben wird), was praktisch ist, wenn Sie einen Delegaten für die Validierung der Felder verwenden.

Wenn Sie mehrere Textfelder haben und nicht wissen, welcher Ersthelfer ist (oder Sie haben einfach keinen Zugriff auf die Textfelder von wo immer Sie diesen Code schreiben), können Sie das Beendigende aufrufen: Auf der übergeordneten Ansicht, die die Textfelder enthält .

Fügen Sie in Swift im verwandten Ansichtscontroller diese Zeile der Schaltflächenfunktion hinzu:

self.view endEditing(true)

Zusätzlich zu Sripriyas Antwort haben Sie hier bitte die Swift 2 -gestaltete Version:

if numberTextField.isFirstResponder() {
    numberTextField.resignFirstResponder()
}

Genießen Sie bitte...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top