2014-12-13 55 views
0

我爲我的應用程序設計了一個自定義指示器視圖,該視圖由一排10個圓圈組成。指標表示任務的進度,任務越接近完成,填充的圈數就越多。我想爲這個指標添加兩個非常基本的動畫,因爲這是我的第一個iOS應用程序,所以我不確定實現它們的最佳方式是什麼。如何在iOS上實現交替顏色動畫

動畫1:當從服務器獲取任務進度信息時,我希望每個點都連續地改變顏色(從黑色變爲藍色)。

動畫2:比方說,我從服務器得到一項任務已完成80%,我想將第一個8個點的顏色從黑色更改爲綠色,延遲時間遞減。

我的問題是,是否可以在drawRect:中實現這些動畫,或者是否有一種更標準的方式來實現這樣的事情。

謝謝!

回答

0

我根本不會使用drawRect:這個UI。我會使用UIShapeLayer創建圈子,其圈數爲path,並使用 animateKeyframesWithDuration:delay:options:animations:completion執行動畫;此方法允許您爲各個圓圈添加動畫(使用addKeyframeWithRelativeStartTime:relativeDuration:animations:),以及在關鍵幀之間需要的任何延遲和相對持續時間。