У меня есть сгруппированное табличное представление с текстовыми полями в табличном представлении. Чтобы клавиатура не скрывала текстовые поля, в textFieldShouldBeginEditing я вызываю метод scrollToRowAtIndexPath и устанавливаю позицию прокрутки строки, редактируемой в верхней части табличного представления.
Прокрутка происходит, но как только появляется клавиатура (т. Е. Как только textFieldShouldBeginEditing возвращает YES), таблица прокручивается обратно в исходное положение и отображает первую строку первого раздела сверху. Я не вызываю reloadTable после вызова scrollToRowAtIndexPath.
Проблема возникает только для строк 4 и 5 (bdate и zip), пароль2 работает должным образом.
Это код, который я использую для прокрутки к определенной строке
if(textField == password2){
indPath = [NSIndexPath indexPathForRow:3 inSection:0];
[self.tableView scrollToRowAtIndexPath:indPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}
else if(textField == bdate){
indPath = [NSIndexPath indexPathForRow:4 inSection:0];
[self.tableView scrollToRowAtIndexPath:indPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}
else if(textField == zip){
indPath = [NSIndexPath indexPathForRow:5 inSection:0];
[self.tableView scrollToRowAtIndexPath:indPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
return YES;
}
Может кто-нибудь сказать мне, что может быть не так? Любое понимание поможет.
Спасибо