我正在尝试为某些NSView的alpha过渡设置动画。它需要在另一个动画中发生,特别是它的超视图(边界变化)。解释原因有点复杂,但是我需要这些alpha转换具有一个定时功能,其中alpha持续时间的前3/4(0.25秒)保持为0.0。我认为如果我用控制点0.0,0.0,0.0,1.0定义我自己的计时功能,它将达到预期的效果。显然,我一般不了解计时功能和数学。
如果有人可以提供一些建议,那就太棒了!
此致 亚历克斯
答案 0 :(得分:1)
CAMediaTimingFunction使用控制点创建贝塞尔曲线。我认为,对于这项任务,更好的解决方案是使用关键帧进行不透明度动画。
CAKeyframeAnimation *animation = [CAKeyframeAnimation animation];
animation.values = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0],
[NSNumber numberWithFloat:1.0], nil];
animation.keyTimes = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.75],
[NSNumber numberWithFloat:1.0], nil];
这将创建一个动画,持续时间为0到持续时间的四分之三,然后移动到1.