How to set focus to a textfield in iphone?

Ravi kumar picture Ravi kumar · Sep 23, 2011 · Viewed 71.9k times · Source

How do you programmatically set focus to some textfield in iPhone as the result of pressing on the textfield?

Answer

rckoenes picture rckoenes · Sep 23, 2011

Just make the textField firstresponder, this will also popup the keyboard:

[self.textField becomeFirstResponder];

And just some more typical example code which may help someone,

in your storyboard, click on one of the text fields, and set the outlets-delegate to be the class in question. In that class, in the .h file make sure that you declare that it is a UITextFieldDelegate

@interface Login : UIViewController <UITextFieldDelegate>

Then in the .m file, you could have this for example...

-(BOOL)textFieldShouldReturn:(UITextField *)textField
 {
 if ( textField == self.loginEmail ) { [self.loginPassword becomeFirstResponder]; }
 if ( textField == self.loginPassword ) { [self yourLoginRoutine]; return YES; }
 return YES;
 }

When a user clicks the "Next" button on the virtual keyboard - on the 'email' field - it will correctly move you to the password field. When a user clicks the "Next" button on the virtual keyboard - on the 'password' field - it will correctly call your yourLoginRoutine.

(On the storyboard, on the attributes inspector, notice that you can select the text you want on the Return key ... here "Next" would work nicely on the email field and "Done" would work nicely on the password field.)

Hope it helps!