2012-05-11 82 views
0

在我的iPhone應用程序中,屏幕上有一個圖像(UIImageView)。我想旋轉它並以固定的速度增加速度。基本上我試圖創建一個效果,開始慢慢旋轉,然後提高速度,直到旋轉速度如此之快,以至於無法再看到圖像(只有快速動畫)。提高紡紗效果的速度

我雖然使用動畫塊和更改轉換的旋轉屬性,但我不知道如何控制速度。

+1

可能重複:http://stackoverflow.com/questions/9595727/how-to-develop-a-spin-the-bottle-application/9595790#9595790。檢查我的答案中的鏈接。它會給你如何玩速度的基本想法。 – Devang

+0

該鏈接是爲了使用手勢,我沒有任何附加的手勢,我想做一個固定的動畫,這是不受用戶控制 –

回答

2

您將要使用動畫曲線設置爲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::::方法。

+0

嗨,UIViewAnimationCurveEaseIn不提供我正在尋找的效果。有沒有辦法控制實際的緩和功能或提供我自己的? –

+0

檢查我更新的答案。 –

+0

很酷,謝謝! –