ios开发中,我们所能见到的都是uiview及其子类,想当然的认为,uiview是最基本的组成单元。事实上,uiview已经是非常重量级的单位了,不止负责视图的显示,由于继承自uiresponder,所以,还需要对各种touch事件进行处理,并且,我们可以对uiview进行各种各样的动画操作了。 每一个uiview中负责显示的部分就是一个calayer,而这个uiview对象就是calayer层的代理对象,负责参数设置和各种回调。也就是说,我们今天讨论的是在ios中,真正负责视图显示的基本组成元素calayer。(也可以是其他类型的layer,默认是calayer,但可以通过uiview的layerclass方法修改) 1:什么是layer。 layer翻译成中文就是层的意思,如果你用过adobe的ps的话,你应该知道,在ps中,一个完成的图像就是由各种各样的层来复合形成的。在ios中,也基本是这样的一个情况,我们所见到的最终呈现的视图,也是由各种各样的层来进行混合运算的结果,而这种计算一般是基于透明度的,如果某个视图并不是完全透明的,那么表层的视图会按照透明度和底层视图进行颜色的加权计算,从而得出最终的颜色,这也是为什么我们使用不透明的uivew能够提高效率的原因,因为系统不再需要考虑对被遮住的层进行计算。 2:layer怎么绘图的。