una transición textos tabla que puede power poner para objetos los explique efectos diapositivas diapositiva como aplicar animar animación animaciones animacion objective-c cocoa-touch uitableview animation

objective c - transición - ¿Cómo recargar y animar solo una celda/fila UITableView?



efectos para power point (4)

Para volver a cargar celdas particulares en una vista de tableView en tableView dados, debe crear una matriz de indexPaths y luego llamar a la función reloadRowsAtIndexPaths en tableView .

Aquí está el ejemplo:

Rápido:

let indexPathsToReload = [indexPath1, indexPath2, indexPath3] tableView.reloadRowsAtIndexPaths(indexPathsToReload, withRowAnimation: .None)

C objetivo:

NSArray *indexPaths = @[indexPath1, indexPath2, indexPath3]; [self.tableView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];

o

NSArray *indexPaths = [NSArray arraywithobject:@"indexPath1", @"indexPath2", @"indexPath3",nil]; [self.tableView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];

¿Cómo puedo cargar y animar solo una celda / fila? Ahora mismo descargo algunos archivos. Cada vez que un archivo termina de descargar, lo llamo delegado terminado y llamo [carga de tabla]. Pero luego toda la mesa vuelve a cargar. Y cómo puedo animar la tabla, para que no parpadee. Por ejemplo, un efecto de fundido más o menos.

saluda a Max


Si solo necesita actualizar el texto en la celda de la vista de tabla.

UITableViewCell *cell = [_myTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1]]; cell.textLabel.text = [NSString stringWithFormat:@"%i", (int)_targetMaxDistanceSlider.value];


El documento de Apple lo hizo con nueva sintaxis

[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];


Utilice el siguiente método de instancia UITableView :

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

NSIndexPaths especificar un NSArray de NSIndexPaths que desea volver a cargar. Si solo quieres volver a cargar Si solo desea volver a cargar una celda, puede suministrar una NSArray que solo contenga un NSIndexPath . Por ejemplo:

NSIndexPath* rowToReload = [NSIndexPath indexPathForRow:3 inSection:0]; NSArray* rowsToReload = [NSArray arrayWithObjects:rowToReload, nil]; [myUITableView reloadRowsAtIndexPaths:rowsToReload withRowAnimation:UITableViewRowAnimationNone];

Puede ver la enumeración UITableViewRowAnimation para todas las formas posibles de animar la actualización de fila. Si no desea ninguna animación, puede usar el valor UITableViewRowAnimationNone , como en el ejemplo.

Recargar filas específicas tiene una mayor ventaja que simplemente obtener el efecto de animación que desea. También obtienes un gran impulso en el rendimiento porque solo las celdas que realmente necesitas volver a cargar tienen sus datos actualizados, reposicionados y redibujados. Dependiendo de la complejidad de sus celdas, puede haber bastante sobrecarga cada vez que actualiza una celda, por lo que reducir la cantidad de actualizaciones que realiza es una optimización necesaria que debe usar siempre que sea posible.