Facebook 刚刚开源了他们很棒的 POP 动画 框架,该框架是从 核心动画 构建的,我不知道如何为图层背景颜色设置动画。

这是我的代码:

POPBasicAnimation *colorAnimation = [POPBasicAnimation animation];
colorAnimation.property = [POPAnimatableProperty propertyWithName:kPOPViewBackgroundColor];

if (_pressed)
{
    colorAnimation.toValue = (id)[UIColor redColor].CGColor;
}
else
{
    colorAnimation.toValue = (id)[UIColor greenColor].CGColor;
}

[_button pop_addAnimation:colorAnimation forKey:@"colorAnimation"];
.toValue 应该只接受 NSNumberNSValue 但我不知道如何传递颜色以作为 .toValue 进行动画处理。

有大佬知道吗?

最佳答案

好的,所以我用这段代码解决了它希望它有所帮助。我只是将 POPBasicAnimation 更改为 POPSpringAnimation。这是代码

POPSpringAnimation *colorAnimation = [POPSpringAnimation animation];
colorAnimation.property = [POPAnimatableProperty propertyWithName:kPOPViewBackgroundColor];

if (clic)
{
    colorAnimation.toValue = (id)[UIColor redColor].CGColor;
}
else
{
    colorAnimation.toValue = (id)[UIColor greenColor].CGColor;
}

[imagen pop_addAnimation:colorAnimation forKey:@"colorAnimation"];

10-07 13:40