码迷,mamicode.com
首页 > 其他好文 > 详细

CALayer的那些事(二)

时间:2016-05-27 15:01:16      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:calayer   自定义   绘制   

        这一篇是关于CALayer的自定义:

不管时UIView还是CALayer,绘制图形的步骤都差不多分这三步:

(1)获取上下文

(2)绘制图形

(3)渲染图形


注意点:

(1)CALayer里绘制的图形默认为无色,不会显示。要想让绘制的图形显示出来,还需要设置图形的颜色。注意不能直接使用UI框架中的类

(2)在自定义layer中的-(void)drawInContext:方法不会自己调用,只能自己通过setNeedDisplay方法调用,在view中画东西DrawRect:方法在view第一次显示的时候会自动调用。

说明:在UIView中绘制图形,获取的上下文就是这个view对应的layer的上下文。在渲染的时候,就是把图形渲染到对应的layer上。在执行渲染操作的时候,本质上它的内部相当于执行了 [self.layer drawInContext:ctx];

当然还有第二种方法(代理) 设置CALayer的delegate,然后让delegate实现drawLayer:inContext:方法,当CALayer需要绘图时,会调用delegate的drawLayer:inContext:方法进行绘图。(这里要注意的是delegate不能指定为当前的View,因为它已经是子层的代理了,这里设置为其他的代理会出问题,具体操作参考http://www.cocoachina.com/industry/20140115/7703.html)



本文出自 “11562149” 博客,请务必保留此出处http://11572149.blog.51cto.com/11562149/1783752

CALayer的那些事(二)

标签:calayer   自定义   绘制   

原文地址:http://11572149.blog.51cto.com/11562149/1783752

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!