2011-03-15 11 views
5

Hey, tengo este fragmento de código (la duración es 0,5, la cantidad es de 1,5)parada CABasicAnimation de ser retirado después de la finalización

CABasicAnimation *grow = [CABasicAnimation animationWithKeyPath:@"transform"]; 
grow.duration = duration; 
grow.repeatCount = 0; 
grow.removedOnCompletion = NO; 
grow.autoreverses = NO; 
grow.fromValue = [NSValue valueWithCATransform3D:CATransform3DScale(self.layer.transform, 1.0, 1.0, 1.0)]; 
grow.toValue = [NSValue valueWithCATransform3D:CATransform3DScale(self.layer.transform, amount, amount, amount)]; 
grow.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
[self.layer addAnimation:grow forKey:@"grow"]; 

Sin embargo, cuando este se juega, el UIView crece adecuadamente, pero luego regresa a su valor inicial Pensé que se suponía que "removedOnCompletion" impedía esto?

Respuesta

16

parece que yo también tenía que especificar:

grow.fillMode = kCAFillModeForwards; 

Ir figura. Funciona ahora :)

+1

¡Acepte su respuesta para mejorar su calificación de aceptación! –

+0

¡Bonita línea! exactamente lo que necesitaba! –

Cuestiones relacionadas