Я хочу анимировать изменение цвета текста (foregroundColor) CATextLayer на iPhone. Согласно документации, неявная анимация свойства недоступна в OSX 10.6, но не упоминается iOS. В результате я просто предположил, что анимация должна быть явной, чтобы она работала на iOS.
Я изменил класс заднего слоя, используя + (класс) layerClass
, и установите начальное значение для свойства в методе UIView init
. Текст отображается нормально вместе со всеми применяемыми мною свойствами (тень, шрифт и т. Д.), Но анимация не оказывает никакого влияния.
Ниже приведен мой метод анимации, который я вызываю из метода наблюдения KVO. так что представление предупреждает пользователя об изменении наблюдаемого свойства.
-(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"
];
}
Как всегда, спасибо.