- [UITableView scrollToRowAtIndexPath:] rola, mas volta para a primeira linha

Eu tenho uma exibição de tabela agrupada com campos de texto na tableview. Para que o teclado não oculte os campos de texto, no textFieldShouldBeginEditing, chamo o método scrollToRowAtIndexPath e defino a posição de rolagem da linha que está sendo editada na parte superior da tableview.

A rolagem acontece, mas assim que o teclado aparece (ou seja, assim que o textFieldShouldBeginEditing retorna YES), a tabela retorna à sua posição original e exibe a primeira linha da primeira seção na parte superior. Não estou chamando reloadTable depois de fazer uma chamada para scrollToRowAtIndexPath.

O problema ocorre apenas para as linhas 4 e 5 (bdate e zip) password2 funcionam conforme o esperado.

Este é o código que estou usando para rolar para uma linha específica

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

Alguém pode me dizer o que pode estar errado? Qualquer insight ajudaria.

obrigado

questionAnswers(2)

yourAnswerToTheQuestion