uilabel.layer.backgroundcolor在CAKeyframeAnimation中不起作用

时间:2013-06-26 12:06:23

标签: cakeyframeanimation

我不确定为什么以下代码不会使标签的背景颜色发生变化。我在想是标签的图层是否不能改变动画中的背景颜色。希望有人能给我一个答案。非常感谢!

    CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];

    animation.values = [NSArray arrayWithObjects:
                        (id) [UIColor yellowColor].CGColor,
                        (id) [UIColor redColor].CGColor,
                        (id) [UIColor blueColor].CGColor, nil];

    animation.duration = 3.0f;
    animation.autoreverses = NO;

    [updateRecordLabel.layer addAnimation:animation forKey:@"backgroundColor"];

1 个答案:

答案 0 :(得分:1)

您没有为动画设置keyPath。您可以创建动画:

1.   CAKeyframeAnimation *theAnimation=[CAKeyframeAnimation animationWithKeyPath:@"backgroundColor"];

2.CAKeyframeAnimation *theAnimation = [CAKeyframeAnimation animation];
  [theAnimation setKeyPath:@"backgroundColor"];

我认为你误解'addAnimation:animation forKey:@“backgroundColor”]'forkey,键是动画的'name',但不是你动画属性的keypath。