2011-09-23 37 views
34

Antes de este código, mi película pic alfa se establece en 0,Core Animation no está funcionando con el valor "alfa"

CABasicAnimation* fadein= [CABasicAnimation animationWithKeyPath:@"alpha"]; 
    [fadein setToValue:[NSNumber numberWithFloat:1.0]]; 
    [fadein setDuration:0.5]; 
    [[moviepic layer]addAnimation:fadein forKey:@"alpha"]; 

No pasó nada, si fijo alfa a 0,5 antemano en cambio, el alfa se mantiene en 0,5 y no animar a 1.

He visto un código usando UIView beginAnimations: alrededor, pero estoy enseñando animación central así que me pregunto por qué CABasicAnimation no puede hacer una tarea simple como esta?

Respuesta

88
[CABasicAnimation animationWithKeyPath:@"opacity"]; 

UIView expone esto como alpha donde como CALayer expone esto como opacity.

+0

Lo que O_o lo intentaré pronto. Pero, ¿hay más casos como este? ¿Y dónde puedo verificar qué puedo usar para KeyPath? (normalmente verificaría en la propiedad del objeto que tiene SetAlpha en él, pero en este caso no coincide ...) – 5argon

+4

@Sargon Con Core Animation estás animando propiedades 'CALayer', no propiedades' UIView', entonces la capa es el lugar para buscar nombres de propiedades correctos - ver: 'view.layer'. – Palimondo

0

@ohho responde a la pregunta publicada. El mío será un poco más genérico. Para obtener una lista de qué se puede y cómo se puede animar con CABasicAnimation, consulte Apple's documentation

Cuestiones relacionadas