2011-09-23 13 views
34

Prima di questo codice, il mio film pic alfa è impostato su 0,Core Animation non funziona con valore "alpha"

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

Non è successo niente, se ho impostato alfa a 0,5 in anticipo, invece, l'alfa rimane a 0,5 e non animando a 1.

Ho visto un codice utilizzando UIView beginAnimations: in giro, ma sto insegnando l'animazione di base quindi mi sono chiesto perché CABasicAnimation non può eseguire attività semplici come questa?

risposta

88
[CABasicAnimation animationWithKeyPath:@"opacity"]; 

UIView espone questo come alpha dove come CALayer espone questo come opacity.

+0

Cosa ci proverò O_o presto. Ma c'è più caso come questo? E dove posso verificare che cosa posso usare per KeyPath? (normalmente controllerei la proprietà dell'oggetto che contiene setAlpha ma in questo caso non corrisponde ...) – 5argon

+4

@Sargon Con Core Animation stai animando le proprietà 'CALayer', non' UIView', quindi il livello è il posto dove cercare i nomi di proprietà corretti - vedi: 'view.layer'. – Palimondo

0

@ohho risponde alla domanda inviata. Il mio sarà un po 'più generico. Per un elenco di cosa può e come essere animato con CABasicAnimation fare riferimento a Apple's documentation

Problemi correlati