У меня есть таблица с 3 UITextFields, добавленными к представлениям содержимого ячеек (1 строка на раздел).У меня есть 4-й раздел, который я вставляю, чтобы я мог прокрутить определенное поле над клавиатурой.
Проблема, с которой я столкнулся (только на iPad), заключается в том, что когда в одном из текстовых полей есть firstResponder,не оставляет его, когда пользователь нажимает на другое поле.Есть ли различия в цепочке респондента на ipad?В приведенном ниже коде для моих контроллеров представления UITextFieldDelegate - textFieldShouldEndEditing не вызывается при прикосновении к другому полю.Нажатие кнопки «Готово» работает должным образом (если не было затронуто другое поле).
Что-то не так с кодом ниже?
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
if (!_editing++) {
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:4] withRowAnimation:UITableViewRowAnimationNone];
}
// scroll to section number in the text fields tag
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:textField.tag] atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}
- (void) textFieldDidBeginEditing:(UITextField *)textField {
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:textField action:@selector(resignFirstResponder)] autorelease];
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
if (_editing-- == 1) {
//
[self.tableView deleteSections:[NSIndexSet indexSetWithIndex:4] withRowAnimation:UITableViewRowAnimationNone];
}
self.navigationItem.rightBarButtonItem = nil;
// do something with the text here...
return YES;
}