I want to call a method when the done button is clicked in the UITextField KeyBoard? Please Help me...
Asked
Active
Viewed 1,761 times
2 Answers
10
It's not even necessary to implement the delegate. I greatly prefer using good, old-fashioned target/action pattern to handle this. It can also lead to cleaner code if you have multiple ways of ending editing (say, intercepting touches outside the text field to cancel editing).
To use target/action, simply wire up UIControlEventEditingDidEndOnExit
, which shows up in Interface Builder as the Did End On Exit
event.
No muss, no fuss. A lot cleaner and easier than implementing the delegate.

Jay O'Conor
- 2,485
- 1
- 19
- 19
6
See the UITextFieldDelegate Protocol reference. You probably want to implement the – textFieldShouldReturn:
method in your delegate.

David Gelhar
- 27,873
- 3
- 67
- 84
-
-(BOOL)textFieldShouldReturn:(UITextField *)textField; – drawnonward Apr 16 '10 at 04:20
-
@drawnonward - right, textFieldShouldReturn: is a better fit for what he's asking than textFieldDidEndEditing:; I'll edit that in. – David Gelhar Apr 16 '10 at 04:41