2010-06-26 7 views
12

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

11

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.

19

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.

4

@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.

0

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.