1

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

    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"];
4

1 回答 1

1

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

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

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

我认为您误解了 'addAnimation:animation forKey:@"backgroundColor"]' forkey,关键是动画的“名称”,而不是您将被动画化的属性的键路径。

于 2013-08-20T15:57:07.373 回答