当 CAAnimation 自动反转时,timingFunction 是不是也会反转?

Posted

技术标签:

【中文标题】当 CAAnimation 自动反转时,timingFunction 是不是也会反转?【英文标题】:When a CAAnimation is autoreversed is the timingFunction reversed too?当 CAAnimation 自动反转时,timingFunction 是否也会反转? 【发布时间】:2015-08-11 22:46:40 【问题描述】:

一个例子:下面将ease-in从0到1。当它反转时,它会ease-in从1到 0,或者它会 reverse 计时功能,并本质上使用 ease-out

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"alpha"];
animation.fromValue = @0;
animation.toValue = @1;
animation.duration = 1.0;
animation.timingFunction = [CAMediaTimingFunction easeIn];
animation.autoreverses = YES;

【问题讨论】:

【参考方案1】:

看来倒转动画确实使用了倒转计时功能!

所以在上面的例子中:

0.0 –> 1.0 缓和

1.0 –> 0.0缓和

【讨论】:

有趣的问题和相应的发现;您如何确定它确实使用了反向计时功能?我打赌这与三角函数有关。你让我好奇。 @Unheilig 我通过使用easeIn 时间和autoreverse 使视图长时间在屏幕上移动来凭经验得出结论;从中可以清楚地看出,视图在自动反转之前之后具有最高速度,这让我相信计时功能只是反向使用:) :-),史诗般的,正如我所想的那样——你看出来了。 ;-) 有趣的问题+1。感谢您的回复。 @Unheilig 乐于分享!

以上是关于当 CAAnimation 自动反转时,timingFunction 是不是也会反转?的主要内容,如果未能解决你的问题,请参考以下文章

应用 CAAnimation 时,AQGridView 单元格被交换

如何在 animationDidStop 委托中识别 CAAnimation?

此 CAAnimation 会导致泄漏或保留周期吗?

何时在自定义 UIVIew 中添加 CAAnimation?

停止 CAAnimation 以添加另一个 CAAnimation

CAAnimation - 更改动画最后一帧的属性?