Reutilice UITableViewCell (altura personalizada para cada uno) en un cliente similar a Twitter

Estoy trabajando en un proyecto como la versión iOS de cliente de Twitter. Al diseñar la tablaview, cada celda cambia la altura para acomodar su contenido (tweet).

Pero encontré un problema: la altura de la celda de la pantalla actual funciona bien, pero cuando se desplaza hacia abajo, la celda nueva reutiliza la altura de celdas antiguas.

Sí, la progtwigción de la tabla es realmente útil cuando se usa el enfoque model-view-controller. Si cambia la altura de su celda en algún lugar como tableView:didDeselectRowAtIndexPath: podría tener la sensación de que funciona, pero no funciona. Lo que puede hacer en este método es modificar sus datos y volver a cargar la tabla (o parte de ella).

Como se menciona en los comentarios anteriores, deberá:

Proporcione la altura correcta para cada celda en

 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 

Proporcionar vista correcta (celda) en

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Una vez que desee realizar algún cambio, debe modificar sus datos en el model (o el object apropiado que contiene sus datos relacionados con el contenido) y luego llamar a uno de los UITableView's reload , posiblemente:

 - (void)reloadData - (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation 

La documentation de Apple puede ser escasa (aunque creo que es bastante profesional): estos serían los enlaces básicos para usted:

Referencia de class UITableView

Referencia del protocolo UITableViewDataSource

Referencia del protocolo UITableViewDelegate

Guía de progtwigción de la vista de tabla para iOS