2012-08-09 97 views
1

據我所知,我們可以使用核心圖形(如CGContextSetShadowWithColor)繪製陰影。但是,我們也可以使用CALayer來顯示陰影。使用核心圖形繪製陰影並使用CALayer

問:

什麼是他們的2之間的差異。有沒有什麼規則來確定,當我們使用核心圖形繪製或當我們使用的CALayer做的工作

回答

1

我不得不說,使用CoreAnimation總是優於CoreGraphics,因爲它更高電平,抽象繪製陰影的低級細節。 (它也可能允許蘋果優化陰影繪製而不損害你的代碼語法)。

但是,有些時候你總是重寫drawRect:,而且你對陰影有非常具體的用途,而不是整個視圖的圖層。你可能想在這裏使用CoreGraphics陰影。

最後一個註釋,CoreAnimation渲染時,漸變速度要快很多,請記住它。我在UITableViewCell上使用它,滾動性能顯着增加,而不是使用CoreGraphics漸變。 That comes at a price, though. It's a bit worse-looking.