2013-06-05 96 views
0

如何針對速度而不是持續時間對UIImageView進行動畫製作。我在我的應用程序中有一大堆UIImageView,我想將它們的中心從一個點移到另一個點。由於我在持續時間上對它們進行動畫製作,因爲它們之間的距離不同,所以它們並不是均勻的動畫。這是非常迷茫。關於速度的動畫效果

+0

您可能需要使用CAKeyFrameAnimation自己完成此任務,在此計算出每個視圖可以移動的每幀距離,並根據此距離構建每個動畫幀。您可以通過單個函數構建多個CAKeyFrameAnimations(每個視圖一個)...因此,這不是一個解決方案的過於繁瑣。那麼你只需要將所有的動畫組合成一個組,並且它們將一起動畫。另外,將其設置爲使用線性定時功能可能會有助於視圖之間看起來更平滑。如果沒有人有更好的想法,我很樂意幫助您起草解決方案。 :) –

+0

@Mr。 T,謝謝你 – Stoner

回答

0

是的,在調用commitAnimations之前,創建一個動畫塊並將該塊中的所有UIImageView's放入該塊中。

- (IBAction)moveImageViews{ 
     [UIView beginAnimations:nil context:NULL]; 
     self.firstImageToMove.frame = CGRectOffset(self.firstImageToMove.frame, 0, 50); 
     self.anotherImageToMove.frame = CGRectOffset(self.anotherImageToMove.frame, 0, 50); 
     [UIView commitAnimations]; 
} 
+0

謝謝你。得到它了! – Stoner

+0

很高興我能幫忙:) – kushyar