Обновлен способ (рекомендуется):
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.view endEditing:YES];
}
Это завершит редактирование всех подпредставлений и подаст в отставку первого респондента.
Другой способ (перечисление по всем текстовым представлениям):
Вот пошаговая инструкция:
Добавьте IBAction к вашему контроллеру представления, например - (IBAction) backgroundTouch: (id) sender
В действии backgroundTouch вам необходимо отправить сообщение resignFirstResponder всем текстовым полям вашего представления. Это прискорбно, но необходимо, поскольку в настоящее время нет способа извлечь объект, который в данный момент имеет статус FirstResponder. Это должно выглядеть примерно так:
- (IBAction)backgroundTouch:(id)sender {
[someTextBox resignFirstResponder];
[anotherTextBox resignFirstResponder];
}
Добавьте элемент управления кнопки в представление, измените его размер, чтобы он охватывал всю видимую область (за исключением строки состояния или любых вкладок или контроллеров навигации). Нажмите кнопку, затем перейдите в меню «Макет» и выберите «Отправить назад». Также установите для кнопки тип «Пользовательский», который невидим, если вы не указали для него какой-либо код для рисования.
Соедините событие Touch Up Inside кнопки с действием backgroundTouch: и попробуйте его.