有没有办法在重复的 CABasicAnimation 动画时改变它的值?
所以我有以下抖动动画:
CABasicAnimation * shake=[CABasicAnimation animationWithKeyPath"position"];
[shake setDuration:0.05];
[shake setRepeatCount:130];
[shake setAutoreverses:YES];
[shake setFromValue:[NSValue valueWithCGPoint:CGPointMake([clock center].x-12.0f, [clock center].y)]];
[shake setToValue:[NSValue valueWithCGPoint:CGPointMake([clock center].x+12.0f, [clock center].y)]];
[shake setDelegate:self];
[[clock layer] addAnimation:shake forKey"position"];
我希望在动画结束时晃动速度减慢。我想如果我可以在动画重复时调整 duration 就可以做到这一点,但无论如何我都找不到这样做。
我的第二个想法是制作几个动画,一个接一个地运行,每个动画的持续时间都比前一个稍长。但我希望有一种更优雅的方式来做到这一点。
Best Answer-推荐答案 strong>
您可以在动画上设置您自己的 timingFunction ,它允许您详细指定动画的完整时间配置文件。查看 CAMediaTimingFunction 类。
关于ios - 在动画制作时减慢 CABasicAnimation,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/19158304/
|