2009-04-13 141 views
3

我想知道是什麼讓圖層與視圖不同,當每個視圖伴隨着它自己的圖層。也許我錯了。但是:那麼這些Layers有什麼好處呢?圖層有什麼用處?我能做些什麼來添加圖層,爲什麼我應該考慮圖層?

就像我理解的那樣,我會使用UIView在我的GUI中對元素進行分組。我也可以使用該UIView來定位其他事物。那麼Layers在哪裏到位?

我應該像在HTML/CSS中一樣將它們看作z-索引嗎?他們只是對Core Animation有興趣嗎?

+1

我不知道他們對什麼有好處;-) – Thanks 2009-04-14 16:46:05

回答

2

相比UIVIews,CALayers是

  • 輕量級
  • 充滿了定時信息動畫
  • 有些東西是很難畫,像文本(尤其是unicode的)。

如果你有不到20個左右,那可能沒關係。如果您有複雜的動畫需求,或只需要繪製大量圖層,則可以使用CALayers來獲益。

1

在iPhone上,根據我的經驗,在使用UIViews和CALayers之間沒有明顯的性能差異。 Mac是一個不同的故事,NSViews顯着更重。

處理CALayers(或至少一個視圖的圖層支持)有時是複雜動畫,特別是關鍵幀動畫或沿路徑移動所必需的。

此外,CALayers可用於創建平臺無關(Mac和iPhone)自定義用戶界面。 UIView與NSViews有很大的不同,但CALayers在iPhone和Mac OS X Leopard之間是相同的(除了iPhone上缺少的一些屬性)。我使用CALayers在iPhone應用程序和Mac對應程序之間共享UI代碼。

相關問題