2012-11-12 34 views
-1

我得到了下面的代碼:iOS版動畫陣列DESC

test.image = [testArray lastObject]; 
test.animationImages = testArray; 
test.animationDuration = 1; 
test.animationRepeatCount = 1; 
[test startAnimating]; 

我相信有一天我看,這是可能的「倒帶」的動畫,但我無法找到任何解決方案更多 - 是有沒有比排序(DESC)數組更好的解決方案?

謝謝!

回答

2

您可以通過訪問reverseObjectEnumerator的對象扭轉動畫:

testArray = [[testArray reverseObjectEnumerator] allObjects]; 

然後,您可以傳遞到動畫:

test.image = [testArray lastObject]; 
test.animationImages = [[testArray reverseObjectEnumerator] allObjects]; 
test.animationDuration = 1; 
test.animationRepeatCount = 1; 
[test startAnimating]; 

或者你可以看看UIViewAnimationOptionAutoreverse,但我不確定這完全是你要找的。

0

您正在使用的是動畫可能性有限的UIImageView。恢復動畫是可能的,但使用基於CoreAnimation的動畫。您有兩種選擇,具體取決於您的動畫所需的控制級別。

  • 繼續使用UIImageView,做MAX_暗示什麼:修改圖像陣列,這樣動畫結束了,只要你想正在播放(如果你需要發揮它向前然後向後,你可能會進一步改變陣列獲得該效果,每個圖像必須在陣列中出現多次才能達到此效果)

  • 切換到CALayer動畫。您必須將UIImages的數組轉換爲CGImages的數組,然後創建一個CABasicAnimation,該圖的content關鍵路徑上運行。然後,您將擁有所有需要的控制,包括自動反向動畫的選項,因爲動畫對象實現了允許這種東西的CAMediaTiming協議。