Re: [問題] Draw a string in a specific CALayer
※ 引述《zonble (zonble)》之銘言:
: ※ 引述《zonble (zonble)》之銘言:
: : 推 leondemon:謝謝Z大!CALayer的delegate是否不能是UIView? 04/13 23:03
: 其實是呼叫這個 layer 繪圖,這個 layer 的 drawInContext:
: 就會呼叫 view 的 drawLayer:inContext: ,最後呼叫到 drawRect:。
: 所以,如果你把一個 UIView 當成了另外一個 layer 的 delegate,
: 就要自行從 drawLayer:inContext: 所傳入的 layer 物件,來判斷到
: 底是哪一個 layer,決定應該畫怎樣的圖。大概有三種解法:
: 1. 在 drawLayer:inContext: 中寫一堆 if else
: 2. 把你的 layer 的 delegate 註冊到其他 object 上
: 3. subclass CALayer,實作 drawInContext:
: 我是覺得 3 比較方便。
: 順道一提,由於一個 view 的呈現,其實是上面的 layer 負責的。
: 所以,如果對這個 view 的 layer 呼叫 renderInContext:,然後
: 給一個 image context 進去,我們就可以拿到一個 view 的截圖了。
: 話說三月底的 cocoaheads 剛好整理了一個 coreanimation 的投影片
: http://www.scribd.com/doc/51693714/Core-Animation
: 裡頭剛好有講到這些東西。
感謝Z大的投影片
也拜讀完了
但還有個疑問
如果說要custom draw
感覺去繼承UIView並且實作drawRect就好啦?
什麼情況之下會需要去產生一個CALayer並透過addSublayer加到UIView.layer之中?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.251.162
討論串 (同標題文章)
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章