CAAnimation proporciona la propiedad removedOnCompletion, cuyo valor predeterminado es YES.¿Qué hace exactamente removedOnCompletion = NO?
Vamos a reconocer estos hechos:
A) Núcleo de Animación sólo afecta a la presentación del árbol, pero no el árbol del modelo. Cuando termina una animación, termina viendo todo lo que está configurado en el Árbol de modelos. Puede establecer fillMode en kCAFillModeBoth, por ejemplo, que intercambiará el valor del Árbol de presentación al Árbol modelo una vez que la animación haya finalizado. Esto hace que la animación no se revierte (lo cual es más probable de lo que usted quiere).
B) Hice un experimento. removedOnCompletion = NO will NOT tiene el mismo efecto que kCAFillModeBoth o kCAFillModeForwards. Para ser más precisos: no tiene ningún efecto sobre cómo se ve el resultado cuando se termina la animación. Ya sea que se "elimine" o no, parece que no afecta al árbol de presentación en absoluto.
Para explicar lo que removalOnCompletion realmente hace, la documentación es demasiado débil en este sentido. No lo entiendo ¿Alguien puede explicar qué se eliminaría exactamente y cuál es el beneficio de no eliminarlo?
Supongo que Apple está hablando del objeto animador en sí, que se agrega a la capa con -addAnimation: forKey: ... pero de nuevo: ¿cuál es el sentido de mantenerlo?
Sí fillmode no muestra ningún impacto ya que estamos eliminando la animación para que el objeto vuelva al estado original –