在我的iPhone應用程序中,屏幕上有一個圖像(UIImageView)。我想旋轉它並以固定的速度增加速度。基本上我試圖創建一個效果,開始慢慢旋轉,然後提高速度,直到旋轉速度如此之快,以至於無法再看到圖像(只有快速動畫)。提高紡紗效果的速度
我雖然使用動畫塊和更改轉換的旋轉屬性,但我不知道如何控制速度。
在我的iPhone應用程序中,屏幕上有一個圖像(UIImageView)。我想旋轉它並以固定的速度增加速度。基本上我試圖創建一個效果,開始慢慢旋轉,然後提高速度,直到旋轉速度如此之快,以至於無法再看到圖像(只有快速動畫)。提高紡紗效果的速度
我雖然使用動畫塊和更改轉換的旋轉屬性,但我不知道如何控制速度。
您將要使用動畫曲線設置爲UIViewAnimationCurveEaseIn
的動畫。將持續時間設置爲很長的時間間隔,大概5秒左右。這應該可以達到你想要的效果。
示例代碼:
CABasicAnimation *spin = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
spin.toValue = [NSNumber numberWithFloat:50*2*M_PI];
spin.duration = 5.f;
spin.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
[imageView.layer addAnimation:spin forKey:@"spinningAnimation"];
如果要定義自己的動畫曲線,看看CAMediaTimingFunction的functionWithControlPoints::::
方法。
嗨,UIViewAnimationCurveEaseIn不提供我正在尋找的效果。有沒有辦法控制實際的緩和功能或提供我自己的? –
檢查我更新的答案。 –
很酷,謝謝! –
可能重複:http://stackoverflow.com/questions/9595727/how-to-develop-a-spin-the-bottle-application/9595790#9595790。檢查我的答案中的鏈接。它會給你如何玩速度的基本想法。 – Devang
該鏈接是爲了使用手勢,我沒有任何附加的手勢,我想做一個固定的動畫,這是不受用戶控制 –