Estoy animando la ruta de sombra para CALayer
.Animar un camino de sombra CALayer
El marco cambia el tamaño correctamente, pero la sombra no se escala.
lugar a la sombra comienza en el tamaño final CGSize(20,20)
y mantiene a lo largo de la animación a pesar de que me puse la Shadowpath a un valor inicial
[CATransaction begin];
[CATransaction setAnimationDuration: 0];
[CATransaction setDisableActions: TRUE];
layer.frame = CGRectMake(0,0,10,10);
layer.shadowPath = [UIBezierPath bezierPathWithRect:layer.bounds].CGPath;
[CATransaction commit];
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:10] forKey:kCATransactionAnimationDuration];
layer.frame = CGRectMake(0,0,20,20);
layer.shadowPath = [UIBezierPath bezierPathWithRect:tile.bounds].CGPath;
[CATransaction commit];
gracias por el esfuerzo. ¿Puedes decirme por qué mi solución no funciona? ¿Por qué puedes animar el marco pero no el camino de sombra? – prostock
El punto de la animación de la sombra es establecer 'animationWithKeyPath' como' @ "shadowPath" '. Esto significa que el objeto de animación es 'shadowPath'. Tampoco conocía este mecanismo, pero la configuración 'animationWithKeyPath' es muy importante para hacer la animación. Esta bien ? – weed