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