2011-03-28 166 views
0

我得到以下drawRect:方法的視圖子類:核心動畫自定義視圖

- (void)drawRect:(CGRect)rect { 

    [myBackgroundImage drawInRect:rect]; 

    ... // more, complex drawing such as strings, lines, etc. 
} 

我想動畫的背景圖像轉換到另一個背景圖片,而視圖其餘的背景圖像上面繪製保持不變。我會怎麼做?我需要額外的CALayer嗎?

回答

1

看起來您可能會使用多個圖層:一個用於每個背景,另一個用於其他前景。這樣就可以分別在每個圖層上應用動畫和轉換。這是我在Flex with Sprite中成功使用的一種解決方案:使用分離的圖形對象將移動/旋轉/淡入以及應用於其中的任何一個的分離的圖形對象組織到一個顯示列表中。

作爲一個設計原則,它應該適用於包括iOS在內的所有圖形環境。

需要考慮的一件事:應用於子圖層超層的變換一次會影響所有子圖層。