我剛剛創建了一個關鍵幀動畫是這樣的:關鍵幀動畫的關鍵時間
[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方法),您是否看到相同的東西? –