我正在尝试为一些 NSView 的 alpha 过渡设置动画。它需要在另一个动画期间发生,特别是它的 super View (边界更改)。解释原因有点复杂,但我需要这些 alpha 转换具有计时功能,其中 alpha 在持续时间的前 3/4(0.25 秒)内保持在 0.0。我想如果我自己定义一个定时函数,控制点为0.0,0.0,0.0,1.0,就能达到想要的效果了。显然,我不了解具体的计时函数和一般的数学。
如果有人可以提供一些建议,那就太好了!
问候, 亚历克
最佳答案
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。
关于objective-c - CAMediaTimingFunction 具有 3 个 {0.0f} 控制点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6607292/