2012-09-26 50 views
4

我有一個「圓形」圖像,就像餅圖。我想要一個不錯的出現動畫,就像餅圖從0填充到該值時一樣。圓形動畫使UIImageView出現

我通常使用這樣的事情時,我想動畫的觀點:

[UIView animateWithDuration: 3.0 
         delay: 0.0 
        options: UIViewAnimationCurveEaseInOut 
       animations:^{ 
          // The animation 
        } 
       completion: ^(BOOL finished) { 
          // On completion 
        } ]; 

是否有可能做同樣的事情爲圓形動畫?我真的不知道如何做到這一點。

感謝您的任何線索!

注:iOS 5中,故事板,ARC,和所有的東西:)


編輯:爲未來的討論,圖像看起來是這樣的:

enter image description here

回答

3

好了,在這裏它去:)

第一個選項(簡單)。你可以使用UIImageViewanimationImages屬性。製作NSArray與動畫圖像(在你的情況下,圓形圖像填充從0到全圓),設置animationDuration,並呼籲[imageView startAnimating](我假設你的UIImageViewimageView),你可以撥打電話[imageView stopAnimating]當過程完成。

二: 退房這個環節http://www.cocoacontrols.com/platforms/ios/controls/jpradialactivityindicator,我認爲示例項目幾乎相同的,因爲你正在嘗試做的:)

好運;)

+0

感謝您的回答。例如,如果我只喜歡10張圖像,這很好嗎?動畫會持續嗎?或者它只是一個接一個顯示一些淡入淡出效果的圖像? – rdurand

+0

順便說一下,方法是startAnimating和stopAnimating;) – rdurand

+0

對不起,我的壞:),我認爲它應該罰款10圖像..取決於動畫持續時間和圖像大小。 –

2

1)您可以使用CAShapeLayer

  • 您可以通過動畫strokeStart和strokeEnd屬性來實現它。您可以創建完整圓的路徑,並使用strokeStart和strokeEnd屬性僅觸發圓的某個部分。

2)另外,你可以參考這個教程:Animating Pie Slices Using a Custom CALayer

好運!

+0

感謝鏈接。據我瞭解,它不使用UIImages。我必須仔細研究一下,如果我找不到用圖像處理的方法,我可以使用它。感謝你的回答。 – rdurand

+0

這個解決方案的問題在於,它不是一個複雜的餅圖,而是更多的戒指(請參閱我的問題的圖像編輯)。對於我想實現的目標來說,這可能太複雜了...... – rdurand