Как программно установить фокус на какое-то текстовое поле в iPhone в результате нажатия на текстовое поле?
Как настроить фокус на текстовое поле в iphone?
Ответ 1
Просто создайте textField firstresponder, это также отобразит клавиатуру:
[self.textField becomeFirstResponder];
И еще несколько типичных примеров кода, которые могут кому-то помочь,
в своем раскадровке, щелкните по одному из текстовых полей и задайте класс-делегаты для класса, о котором идет речь. В этом классе в файле .h убедитесь, что вы заявляете, что это UITextFieldDelegate
@interface Login : UIViewController <UITextFieldDelegate>
Тогда в .m файле вы можете получить это, например...
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
if ( textField == self.loginEmail ) { [self.loginPassword becomeFirstResponder]; }
if ( textField == self.loginPassword ) { [self yourLoginRoutine]; return YES; }
return YES;
}
Когда пользователь нажимает кнопку "Далее" на виртуальной клавиатуре - в поле "email" - он правильно переместит вас в поле пароля. Когда пользователь нажимает кнопку "Далее" на виртуальной клавиатуре - в поле "пароль" - он будет правильно вызывать ваш yourLoginRoutine.
(На раскадровке, в инспекторе атрибутов, обратите внимание, что вы можете выбрать текст, который вы хотите на клавише Return... здесь "Next" будет хорошо работать в поле электронной почты, а "Done" будет работать красиво на пароле поле.)
Надеюсь, что это поможет!
Ответ 2
Добавить делегата в TextField. Вы можете следить за процессом, описанным в этой статье: http://www.roseindia.net/tutorial/iphone/examples/iphone-AddTwoTextField.html
Для изменения фокуса на лету:
[yourTextField becomeFirstResponder];