2010-05-25 33 views
4

考慮一個圓圈。現在考慮一個從圓心向右的圓的半徑。現在想象一下,半徑圍繞圓的中心旋轉,在旋轉時掃出一個區域。我的問題是:我想使用iPhone的動畫技術來填充與圓的背景區域不同的顏色的掃出區域,因爲半徑從0度旋轉到圍繞圓的任何選定的度數。iPhone動畫:我如何爲區域填充動畫?

我已經看過了Core Animation API,KeyFrame Animations等,但我無法知道如何做到這一點。任何提示將是最受歡迎的。

感謝, 桑迪普

回答

2

退房CAShapeLayer。它可以讓你在兩個Core Graphics路徑之間進行動畫處理,可以像你想的那樣複雜。在這種情況下,您可能想要在定義薄填充楔的路徑和覆蓋較大圓的角度的填充楔之間進行動畫處理。您可能需要使用CAKeyframeAnimation來確保它在您想要的清掃動作中以您想要的方向動畫化。

+1

嗨布拉德,我非常感謝你的幫助。我一直在這個問題上停留了很長時間。我一直在瀏覽CAShapeLayer上的文檔,看起來這會解決我的問題。 再次感謝。 – Sandeep 2010-05-26 13:46:20

+0

我檢出了CAShapeLayer類。事實證明,CABasicAnimation類具有「fromValue」和「toValue」屬性,可以將其設置爲開始路徑和結束路徑,然後可以將CABasicAnimation添加到CAShapeLayer以獲取從開始路徑到結束路徑。但是我需要使用一個CAKeyframeAnimation - 它沒有爲「from」(起始)路徑和「to」(結束)路徑提供「fromValue」和「toValue」屬性。我的問題是:我如何在CAKeyframeAnimation類中使用CAShapeLayer類? – Sandeep 2010-05-27 15:18:09

+0

@Sandeep - 在動畫期間,CAKeyframeAnimation需要一系列關鍵值來擊中特定點。在這種情況下,這些值將是CGPathRef路徑,強制轉換爲id(例如:(id)路徑,(id)path2,...)。 – 2010-05-27 15:33:06