Ich bewege meine Ansicht, wenn ein Textfeld gedrückt wird, um die richtige Ansicht zu erhalten, wenn die Tastatur erscheint. Wenn nun die Schaltfläche Fertig gedrückt wird, möchte ich die Ansicht in den Ausgangszustand zurückversetzen. Wie gehe ich mit einer Aktion um, wenn die Fertig-Taste gedrückt wird?Handle Keyboard Fertig gedrücktes Ereignis auf Iphone
Antwort
Machen Sie eine IBAction
und verbinden Sie es mit der Methode didEndOnExit
des Textfelds. Dann sollten Sie innerhalb der Implementierung dieser Methode [yourTextFieldOutlet resignFirstResponder];
setzen, die das Textfeld deaktivieren wird.
Der richtige Weg, dies zu tun, ist auf die Meldungen UIKeyboardDidShowNotification
und UIKeyboardDidHideNotification
zu achten, wie in Apple's documentation beschrieben.
Wenn Sie wissen wollen, wann die Done
Taste gedrückt wurde, implementieren
- (BOOL)textFieldShouldReturn:(UITextField *)textField
In Ihrem Delegierten. Es sollte aufgerufen werden, wenn die Zurück-Taste gedrückt wird. Weitere Informationen finden Sie unter API documentation.
@freespace hat es richtig, das ist alles was Sie tun müssen.
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
return [textField resignFirstResponder];
}
Tippen Sie auf die Schaltfläche Fertig und poof, die Tastatur ist weg.
Wenn Sie wollen einfach nur wissen, dass Erledigt gedrückt wurde, können Sie fragen, dass diese Kontrolle Ereignis erzählt werden:
[textField addTarget:self
action:@selector(donePressed)
forControlEvents:UIControlEventEditingDidEndOnExit];
, dass der Code-Version des IB-didEndOnExit
ist.