2012-01-24 48 views
0

我有一個UIView通過drawRect繪製自己。我使用核心圖形並繪製貝塞爾曲線。我希望有一個動畫可以改變某些場合繪製的貝塞爾曲線的顏色。然而,僅將顏色作爲屬性並在動畫塊中更改它不起作用。我還需要確保它正確重繪。有什麼辦法做到這一點?我對IOS很陌生使用塊動畫更改自定義繪製的UIView的顏色

+0

已經做了更多的Google搜索,在github上發現了CA360項目(https://github.com/neror/CA360)以及以下演示文稿:http://www.slideshare.net/alexisgo1/animation-talk -trim看起來像我必須使用核心動畫。不過,我想知道是否有可能創建一個自定義屬性,可以使用與動畫屬性相同的簡單方法使用塊進行動畫設置。 – Nils

回答

1

我不認爲你可以做你想做的事情。該系統有特殊的代碼,知道如何動畫變化的動畫屬性,但它不支持動畫更改任何其他屬性。

要爲顏色變化設置動畫,您需要使用CAShapeLayer來繪製圖形。形狀圖層的strokeColor和fillColor屬性是動畫的。

+0

你可以製作自己的動畫屬性,但在這種情況下,聽起來像是一個CAShapeLayer是一個很好的解決方案,所以平衡點+1。 – jrturton