Я пытаюсь перейти к текстовому полю, внутри ячейки таблицы, когда он начнет редактирование. Он отлично работает для других ячеек таблицы, кроме первого:scrollToRowAtIndexPath не работает для первой ячейки
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
UITableViewCell *cell = (UITableViewCell *)textField.superview.superview;
[self.tableView scrollToRowAtIndexPath:[self.tableView indexPathForCell:cell] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
Я проверил значение [self.tableView indexPathForCell: клетки] он установлен для первой строки и первого раздела.
Я думаю, что это связано с тем, что heightForHeaderInSection для первого раздела очень большой (охватывает примерно половину экрана).
Потому что это уже наверху? –
Не предполагайте, что ячейку можно получить из текстового поля, используя 'textField.superview.superview'. Макет subview отличается в разных версиях iOS, и он может измениться. – rmaddy
OP уже упоминал, что он работает для других ячеек, не думаю, что это может быть проблемой в этом вопросе. – Vizllx