Это решение, позволяющее убрать клавиатуру при попадании return
в любое текстовое поле путем добавления кода в одном месте (поэтому не нужно добавлять обработчик для каждого текстового поля):
рассмотрим этот сценарий:
У меня есть viewcontroller
с двумя текстовыми полями (имя пользователя и пароль). и viewcontroller
реализует UITextFieldDelegate
протокол
я делаю это в viewDidLoad
- (void)viewDidLoad
{
[super viewDidLoad];
username.delegate = self;
password.delegate = self;
}
и viewcontroller реализует необязательный метод как
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
и независимо от того, в каком текстовом поле вы находитесь, как только я нажму return
на клавиатуре, оно будет отклонено!
В вашем случае то же самое будет работать, если вы установите для всех делегатов текстового поля значение self и реализуете textFieldShouldReturn