动画UILabel改变颜色?

时间:2014-05-28 16:04:03

标签: ios objective-c uilabel core-animation

我想让我的UILabel中的文字coloursLabel自行更改文字颜色。我尝试了下面的方法作为另一个建议的答案(尽管是backgroundColor),但它仍然没有改变。我错过了一些傻事吗?

UILabel *coloursLabel = [[UILabel alloc] init];
    coloursLabel.text = @"This sentence is colourful!";
    [coloursLabel sizeToFit];
    coloursLabel.center = self.view.center;
    coloursLabel.frame = CGRectOffset(coloursLabel.frame, timeForPage(6), 0);

[UIView animateWithDuration:2.0 animations:^{
    coloursLabel.textColor = [UIColor greenColor];
    coloursLabel.textColor = [UIColor redColor];
    coloursLabel.textColor = [UIColor blueColor];
    coloursLabel.textColor = [UIColor yellowColor];
    coloursLabel.textColor = [UIColor blackColor];
} completion:NULL];

coloursLabel显示正确的文字但文字为黑色。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

UILabel的textColor不可动画。您可以使用CATextLayer作为掩码编写自己的Label类,并为其图层的backgroundColor设置动画。