ios uitableview uitextview

ios - UITableView beginUpdate/endUpdate haciendo que se desplace hacia arriba



uitextview (2)

Esto también me self.tableView.estimatedRowHeight , y parece que el problema es self.tableView.estimatedRowHeight . Cuando hice la estimación lo suficientemente grande, el problema dejó de suceder.

Agregué esto en su lugar y está funcionando bien hasta ahora:

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath { return UITableViewAutomaticDimension; }

He estado tratando de entender este problema tan común de un UITextView en expansión dentro de un UITableViewCell de un UITableView y estoy casi allí excepto por una pequeña cosa.

Tengo un UITableView que tiene un UITableViewCell personalizado. Mi UITableView utiliza la nueva altura de celda dinámica de auto-dimensionamiento de self.tableView.estimatedRowHeight con la ayuda de self.tableView.estimatedRowHeight y self.tableView.rowHeight = UITableViewAutomaticDimension; , que aumenta la altura de la celda según el diseño automático de ContentView.

Puedo aumentar correctamente el marco de mi UITableView y la altura de la celda de mi UITableView sí crece, pero cada vez que llamo self.tableView beginUpdates y los endUpdates correspondientes, toda mi vista de desplazamiento de tableView hace que se desplace hacia la parte superior de la tabla ver. Tengo un método que se desplaza a la posición del cursor, pero como puede imaginar, cada vez que se crea una nueva línea en el UITextView, el UITableView se desplaza a la parte superior y luego a la posición del cursor y es un janky.

¿Alguien tiene alguna idea? Puedo proporcionar un video si es necesario. Saludos, Mike


No puedo comentar sobre la respuesta de akiraspeirs , pero al establecer self.tableView.estimatedRowHeight en la altura exacta de mi celda antes de que ocurra el cambio de tamaño, se self.tableView.estimatedRowHeight el problema del desplazamiento extraño. Su segunda solución no funcionó en mi caso.