BukLau
BukLau

Reputation: 69

UITextfield in UITableViewCell resign FirstResnponder

I have a UITextfield of type NumberPad in a UITableViewCell. How can I make it resign first responder (i.e. dismiss the keyboard)? Thanks

Upvotes: 0

Views: 603

Answers (2)

A Salcedo
A Salcedo

Reputation: 6468

Implement UITextFieldDelegate and set your UITextField delegate to it. In the -(BOOL)textFieldShouldReturn:(UITextField *)textField delegate method you set the resignFirstResponder call.

You can also set up an action to a button on the pad. You can do this by trying to add a done button to the pad. I know that in the most recent sdk this is somewhat impossible.

For those cases you have two options:

1.Add a done button somewhere on the view. If you are using a navigation controller you can add it to the navigation bar and simply set up the action for that button and in the action you resignFirstResponder for the UITextField.

2.Add your keyboard to a UIActionSheet and add the done button right on top of the keyboard.

Upvotes: 1

Roger
Roger

Reputation: 15813

You have to add a UIButton somewhere in your interface. I often do it on the navigation bar and then resign first responder when it is pressed.

There are all sorts of kludges to superimpose fake done buttons over the numberpad, but they are asking for trouble IMHO. It would be nice if Apple addressed this in future though as lots of people have the same issue.

Good discussion and other solutions here;

How to show "Done" button on iPhone number pad

Upvotes: 1

Related Questions