¿Cómo mantener los estados de otras celdas de UICollectionView después de llamar a deleteItemsAtIndexPaths?

Como dice la documentation "deleteItemsAtIndexPaths"

"The collection view updates the layout of the remaining items to account for the deletions, animating the remaining items into position as needed." 

En mis casos, al eliminar una celda de la vista de colección, todas las celdas están haciendo alguna animation, pero una vez que llame a deleteItemsAtIndexPaths, ¿las celdas de animation antiguas que se movieron a su nueva position dejaron de hacer esa animation?

Entonces, mi problema es que ¿cómo mantener ese estado después de mover las celdas a una nueva position debido a deleteItemsAtIndexPaths?

Editar: -Mis todas las celdas están networkingucidas y haciendo bamboleo bastante similar a "cuando el usuario presiona el ícono de la aplicación para eliminar la aplicación en el iPhone.

 [UIView animateWithDuration:0.125 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ self.transform = CGAffineTransformMakeScale(0.8,0.8); } completion:^(BOOL finished){ if(finished) { [self shouldAllowInteraction:NO]; CGAffineTransform leftWobble = CGAffineTransformRotate(self.transform, RADIANS(-1.0)); CGAffineTransform rightWobble = CGAffineTransformRotate(self.transform, RADIANS(1.0)); self.transform = leftWobble; [UIView animateWithDuration:0.125 delay:0 options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionAllowUserInteraction) animations:^{ self.transform = rightWobble; } completion:^(BOOL finished) { }]; } }]; 

Pero cuando intenté eliminar una celda usando

  [cardsViewController.collectionView deleteItemsAtIndexPaths:indexPathArray]; 

Todas las celdas movidas – (celdas después de la celda eliminada) dejan de hacer que se tambalee y se amplíe. No retienen el mismo comportamiento significa animation.

p.ej. El gif de muestra está aquí. introduzca la descripción de la imagen aquí

Si entendí su requerimiento correcto
a) escalar y tambalearse
introduzca la descripción de la imagen aquí
b) al eliminar y reorganizar, no escalar hacia arriba / abajo sino continuar tambalearse
introduzca la descripción de la imagen aquí

agrega estos methods a tu celular

 -(void)scaleDownAndWoble { [UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ self.transform = CGAffineTransformMakeScale(0.8,0.8); } completion:^(BOOL finished){ if(finished) { [self wobble]; } }]; } -(void)wobble { CGAffineTransform leftWobble = CGAffineTransformRotate(self.transform, DEGREE(-1.0)); CGAffineTransform rightWobble = CGAffineTransformRotate(self.transform, DEGREE(1.0)); self.transform = leftWobble; [UIView animateWithDuration:0.125 delay:0 options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionAllowUserInteraction) animations:^{ self.transform = rightWobble; } completion:^(BOOL finished) { }]; } 

Ahora para el paso 1: Llame scaleDownAndWoble para cada celda visible Step2: llame a bamboleo para todas las celdas visibles después de que se complete la animation de eliminación

  - (void)deleteItemAtIndexPath:(NSIndexPath *)indexPath { NSMutableArray *colorNames = self.sectionedColorNames[indexPath.section]; [colorNames removeObjectAtIndex:indexPath.item]; [self.collectionView performBatchUpdates:^{ [self.collectionView deleteItemsAtIndexPaths:@[indexPath]]; } completion:^(BOOL finished) { NSArray *array = [self.collectionView visibleCells]; for( ColorNameCell * cell in array) [cell wobble]; }]; } 

¿Podría esta respuesta ayudarte?

Evite la animation de UICollectionView después de reloadItemsAtIndexPaths

Parece una forma de desactivar ciertas animaciones para la vista de UICollection (modificó el código en la respuesta para adaptarse a su problema):

 [UIView animateWithDuration:0 animations:^{ [collectionView performBatchUpdates:^{ [collectionView deleteItemsAtIndexPaths:indexPaths]; } completion:nil]; }];