Jon*_*han 5 core-animation calayer ios
我想动画iPhone上CATextLayer的文本颜色(foregroundColor)的变化.根据文档,该属性的隐式动画在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"
];
}
Run Code Online (Sandbox Code Playgroud)
一如既往地谢谢.
这是我成功做到这一点的唯一方法:
[CATransaction begin];
[CATransaction setAnimationDuration:.5];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
yellowWord.foregroundColor =[UIColor redColor].CGColor;
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)
希望它能帮助某人