- [UITableView scrollToRowAtIndexPath:] se desplaza, pero vuelve a la primera fila

Tengo una vista de tabla agrupada con campos de texto en la vista de tabla. Para que el teclado no oculte los campos de texto, en textFieldShouldBeginEditing, llamo al método scrollToRowAtIndexPath y establezco la posición de desplazamiento de la fila que se está editando en la parte superior de la vista de tabla.

El desplazamiento ocurre, pero tan pronto como aparece el teclado (es decir, tan pronto como textFieldShouldBeginEditing devuelve SÍ), la tabla se desplaza de nuevo a su posición original y muestra la primera fila de la primera sección en la parte superior. No estoy llamando a reloadTable después de hacer una llamada a scrollToRowAtIndexPath.

El problema ocurre solo para la fila 4 y 5 (bdate y zip) contraseña2 funciona como se esperaba.

Este es el código que estoy usando para desplazarme a una fila en particular

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

¿Puede alguien decirme qué podría estar yendo mal? Cualquier idea ayudaría.

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta