2011-08-22 16 views

Respuesta

16

Está buscando el método reloadRowsAtIndexPaths: en UITableView. Se activará el recálculo de la altura (y posterior redibujado) de celdas específicas. Incluso puede animar el ajuste para que pueda realizar la actualización en tiempo real mientras el usuario está desplazándose, de modo que la vista de tabla no se "salta" o "tartamudee" mientras se recalculan las alturas. Acabo de implementarlo con éxito para hacer lo que describes.

Fuente: Update UITableViewCell without reload

+4

volver a cargar la tabla puede ocultar el teclado si la altura de la fila cambios. – aksommerville

+0

Obviamente. Esto es cierto cada vez que vuelve a dibujar una entrada en UIKit ... –

+4

La pregunta específicamente solicita una forma de hacerlo sin tener que descartar el teclado. reloadRowsAtIndexPaths descarta el teclado –

0

Puede llamar beginUpdates && endUpdates, estos se provoca altos de celdas de mesa que se recaluclated, sin recargar toda la célula

  UIView.setAnimationsEnabled(false) 

      self.tableView.beginUpdates() 
      self.tableView.endUpdates() 
      // Re-enable animations 
      UIView.setAnimationsEnabled(true) 
Cuestiones relacionadas