有ios编程经验的人都知道,iOS中任何可视化图像界及其元素都是通过继承uiview或是其子类实现的。
而UIView是通过继承UIResponder这个仅响应事件,而不能显示的事件类,那说明UIView对UIResponder做了可视化的扩展。这个可视化的扩展就是CALayer。
实际上,uiview对于可视化的任何操作都是通过对其属性CAlayer实现的,uiview本身仅仅是具有响应事件的能力,或者说是uiview仅仅是拥有响应用户事件的calayer的容器。
CALayer:即图层,这个概念比较抽象,可以把他看做是玻璃纸。每个图层相当于一张透明的玻璃纸,可以分别在玻璃纸上作画,然后将比例值堆叠起来,合成想要的效果。
绘画法式分为两种:
1.通过继承UIview定义子类,并在drawRect:绘画。(见我的博客:自定义UIView以实现自绘)
2.通过直接在图层中绘画。
关于第一种方式见名为篇博客“ 自定义UIView以实现自绘”。
第二种方式请参考KenshinCui的博客 http://www.cnblogs.com/kenshincui/p/3972100.html#autoid-2-2-0
(文章比较长,搜一下“CALayer绘图”)。
本文介绍了iOS中视图绘制的基本原理,详细解释了UIView如何通过CALayer实现可视化效果。文章对比了两种绘制方法:通过自定义UIView进行绘制以及直接在CALayer上绘制。

被折叠的 条评论
为什么被折叠?



