wake-up-neo.net

tastatur fertig Tastenaktion Schnell iOS funktioniert nicht

Ich bin neu in stackoverflow, ich habe ein Problem mit dem neuen Swift-Code ... __ Ich habe den Return-Button auf der Tastatur mit "Done" geändert, aber wenn ich darauf tippe, stoße nichts ... Wie kann ich das? die Tastatur ausblenden, wenn Sie darauf tippen? Ich habe einen Code (auf dieser Website gefunden) hinzugefügt, um die Tastatur auszublenden, wenn Sie irgendwo tippen, nicht auf der Tastatur. Ich kann es jedoch nicht anpassen, wenn Sie auf "Fertig" drücken. Danke schon mal !!

23
Giorgio Nocera

Sie müssen eine Delegat-Methode implementieren, die aufgerufen wird, wenn Sie auf die Schaltfläche "Fertig" klicken:

func textFieldShouldReturn(textField: UITextField!) -> Bool {  
    textField.resignFirstResponder()
    return true
}

Sie müssen auch das UITextFieldDelegate-Protokoll einhalten:

class MyViewController: UIViewController,UITextFieldDelegate // I assume you override UIview controller class if not add UITextFieldDelegate to your class

Als letztes wird Ihre Klasse als Textfelddelegierter eingerichtet:

textField.delegate = self
69
Greg
textField.delegate = self

kann durch .__ ersetzt werden.enter image description here

Dadurch werden die erforderlichen Verbindungen zwischen Ihrer View und ihrer Komponente hergestellt und die textFieldShouldReturn-Methode wie erwartet funktioniert.

11
Stephane Paquet

Die Protokollmethoden haben neue Signaturen (Swift 4.1). IE:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    textField.resignFirstResponder()
    return true
}

Da die Protokollmethoden optional sind, schlägt die Verwendung einer falschen Signatur automatisch fehl.

0
MatthiasFranz