2011-06-12 174 views
2

我試圖讓我的腦袋圍繞核心圖形和核心動畫。我理解以下內容:在CALayer中繪製核心圖形

  • 使用UIView,我可以通過覆蓋drawRect與Core Graphics進行繪製。
  • 我可以創建多個CALayer的的並設置其屬性,並讓他們加入

我的問題是: - 如果我創建一個CALayer的從頭開始(不使用類似CALayer *myLayer = myUIView.layer),什麼是繪製的方法CALayer? - 對於UIView,CALayer相當於drawRect的什麼?

我希望這是有道理的。

回答

5

要做到自定義繪製你有兩種選擇:

  1. 子類的CALayer和實施-drawInContext:
  2. 讓你自己的類作爲圖層的委託來執行Quartz例程。它應該執行-drawLayer:inContext:

您應該將您的自定義圖層作爲子圖層添加到您的UIView圖層中。您應該通過CALayer的文檔頁面瞭解一些關於如何與視圖圖層進行交互的規則。

+0

謝謝!我會試一試並跟進。 – shawnzizzo 2011-06-13 13:43:12

+1

我剛剛讀過,你可以通過繼承UIView並實現+ layerClass來返回你的自定義圖層類,使你的自定義圖層成爲UIView的圖層。您可以這樣做,而不是將您的自定義圖層添加爲視圖圖層的子圖層(whew)。 – pe8ter 2011-06-24 23:52:22