Durch Klicken in ein Textfeld wird die Tastatur angezeigt. Wie verstecke ich es, wenn der Benutzer die Eingabetaste drückt?
148
Durch Klicken in ein Textfeld wird die Tastatur angezeigt. Wie verstecke ich es, wenn der Benutzer die Eingabetaste drückt?
Antworten:
Machen Sie zuerst Ihren Dateidelegierten für UITextField
Fügen Sie diese Methode dann Ihrem Code hinzu.
Fügen Sie auch hinzu
self.textField.delegate = self;
quelle
In
viewDidLoad
erklären:[yourTextField setDelegate:self];
Fügen Sie dann die Überschreibung der Delegatenmethode hinzu:
quelle
setDelegate:
Erinnerung. Auf jeden Fall vergessen und Code funktionierte vorher nicht.Versuchen Sie dies in Swift ,
Schritt 1: Legen Sie den Delegaten als Selbst für Ihren fest
textField
Schritt 2: Fügen Sie dieses UITextFieldDelegate unter Ihrer Klassendeklaration hinzu.
quelle
Machen Sie in Kürze Folgendes:
Zuerst in Ihrem
ViewController
Gerät wird diesUITextFieldDelegate
z.Fügen Sie nun einen Delegaten zu einem hinzu,
TextField
in dem Sie die Tastatur schließen möchten, wenn die Eingabetaste entweder in der folgendenviewDidLoad
Methode oder dort, wo Sie sie initialisieren, getippt wird. Zum Beispiel.Fügen Sie nun diese Methode hinzu.
quelle
Versuche dies,
Dann in der textField-Delegatmethode
quelle
Setzen Sie den Delegaten der Methode
UITextField
und überschreiben SietextFieldShouldReturn
diese Methode. Schreiben Sie in dieser Methode einfach die folgenden zwei Zeilen:das ist es. Vergessen Sie vor dem Schreiben eines Codes nicht, den Delegaten von a festzulegen
UITextField
und den Return-Schlüsseltyp im Eigenschaftenfenster auf "Fertig" zu setzen (Befehl + Umschalt + I).quelle
Sie können "Primary Action Triggered" (Rechtsklick auf UITextField) mit einer IBAction verbinden und den Ersthelfer (ohne Delegierung) zurücktreten. Beispiel (Swift 4):
quelle
Swift 4
Legen Sie den Delegaten des
UITextField
In-View-Controllers festfield.delegate = self
und dann:quelle
Wenn Sie die Tastatur für eine bestimmte Tastatur
[self.view resignFirstResponder];
ausblenden möchten, verwenden Sie Wenn Sie eine Tastatur aus der Ansichtsausblendung ausblenden möchten[self.view endEditing:true];
quelle
Benutze das
quelle
Ok, ich denke für einen Anfänger könnten die Dinge etwas verwirrend sein. Ich denke, die richtige Antwort ist eine Mischung aus all dem, zumindest in Swift4.
Erstellen Sie entweder eine Erweiterung oder verwenden Sie den ViewController, in dem Sie diese verwenden möchten, stellen Sie jedoch sicher, dass Sie UITextFieldDelegate implementieren. Aus Gründen der Wiederverwendbarkeit fand ich es einfacher, eine Erweiterung zu verwenden:
Fügen Sie die Methode textFieldShouldReturn hinzu (abhängig von Ihrer vorherigen Option, entweder in der Erweiterung oder in Ihrem ViewController).
Setzen Sie in Ihrer viewDidLoad-Methode den Delegaten des Textfelds auf self
Das sollte alles sein. Wenn Sie jetzt drücken
return
dietextFieldShouldReturn
aufgerufen werden soll.quelle
Definieren Sie diese Klasse und stellen Sie dann Ihr Textfeld so ein, dass die Klasse verwendet wird. Dadurch wird die gesamte ausgeblendete Tastatur automatisiert, wenn die Eingabetaste automatisch gedrückt wird.
Dann müssen Sie im Storyboard nur noch die Felder festlegen, um die Klasse zu verwenden:
quelle