我刚刚创建了一个关键帧动画是这样的:关键帧动画的关键时间
[UIView animateKeyframesWithDuration:10 delay:0 options:0 animations:^{
[UIView addKeyframeWithRelativeStartTime:0 relativeDuration:.1 animations:^{
view.alpha = 0;
}];
} completion:nil];
而且这是被创建一个CAKeyframeAnimation
:
(lldb) po [self.layer animationForKey:@"opacity"]
<CAKeyframeAnimation:0x10a6364b0; keyTimes = (
0,
"0.1",
1
); values = (
1,
0,
0
); calculationMode = linear; delegate = <UIViewKeyframeAnimationState: 0x10a6358d0>; fillMode = both; timingFunction = easeInEaseOut; duration = 10; keyPath = opacity>
问:
的整个动画应该需要10秒,不透明度动画10 * 0.1 = 1秒,对吧?当我看动画时,变化的动画方式超过1秒。
为什么?
调试输出看起来是正确的(从0到1秒动画从100%到0%,那么为从0%到0%动画再过9秒)。你能描述你所看到的吗?你是否在其他地方改变了不透明度?你还没有在模拟器中打开慢动画,对吧? –
是的,CAKeyframeAnimation看起来完全正确。我看到的是,不透明度正在改变2 - 2.5秒,而不是一个。我不会在任何地方改变它,并且慢动画关闭。 –
如果您自己创建关键帧动画(不是通过UIView方法),您是否看到相同的东西? –