Анимация свойства foregroundColor CATextLayer

Я хочу анимировать изменение цвета текста (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"
 ];
}

Как всегда, спасибо.

5
задан Jonathan 27 February 2011 в 19:49
поделиться