Animación de foregroundColor propiedad de CATextLayer

Quiero animar el cambio en el color del text (foregroundColor) de un CATextLayer en el iPhone. Según la documentation, la animation implícita de la propiedad no está disponible en OSX 10.6, pero no se menciona el iOS. Como resultado, he asumido que la animation debe ser explícita para que funcione en iOS.

He cambiado la class de capa de respaldo usando +(class)layerClass , y establezco un valor inicial para la propiedad en el método UIView init . El text aparece muy bien, junto con todas las properties que he aplicado (sombra, fuente, etc.), pero la animation no tiene ningún impacto.

A continuación se muestra mi método de animation, que llamo desde un método de observación KVO para que la vista avise al usuario cuando la propiedad observada ha cambiado.

 -(void) animateTextChange{ animation = [CABasicAnimation animationWithKeyPath:@"foregroundColor"]; [animation setFromValue:[[UIColor blackColor] CGColor]]; [animation setToValue:[[UIColor whiteColor] CGColor]]; [animation setDuration:2.0f]; [[self layer] addAnimation:animation forKey:@"foregroundColor" ]; } 

Gracias como siempre.

Esta es la única manera que tuve éxito para hacer eso:

  [CATransaction begin]; [CATransaction setAnimationDuration:.5]; [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; [CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; yellowWord.foregroundColor =[UIColor networkingColor].CGColor; [CATransaction commit]; 

Espero que ayude a alguien