там прекрасно работает, но есть небольшая проблема, textfieldshouldbegin вызывается до уведомлений клавиатуры. Поэтому, если вы сначала вызываете нижнее текстовое поле, он пытается прокрутить вверх, но не будет, если весь табличный вид уже виден, а затем на клавиатуре появится изменение размера табличного представления.

я есть сгруппированное табличное представление с текстовыми полями в табличном представлении. Чтобы клавиатура не скрывала текстовые поля, в textFieldShouldBeginEditing я вызываю метод scrollToRowAtIndexPath и устанавливаю позицию прокрутки строки, редактируемой в верхней части табличного представления.

Прокрутка происходит, но как только появляется клавиатура (т. Е. Как только textFieldShouldBeginEditing возвращает YES), таблица прокручивается обратно в исходное положение и отображает первый ряд первого раздела сверху. Я не вызываю reloadTable после вызова scrollToRowAtIndexPath.

Проблема возникает только для строк 4 и 5 (bdate и zip) password2 работает как положено.

Это код, который я использую для прокрутки к определенной строке

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;
}

Может кто-нибудь сказать мне, что может быть не так? Любое понимание поможет.

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос