作者popcorny (毕业了..@@")
看板MacDev
标题Re: [问题] Draw a string in a specific CALayer
时间Thu Apr 14 10:31:39 2011
※ 引述《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