iOS开发-CALayer

一、CALayer 和 UIView

Unix/Linux的接口设计有一句通用的格言“提供机制而不是策略”。区别对待机制(mechanism)和策略(policy)是Unix设计中的一大亮点。

对比到iOS开发,UIView有着手势、block动画等等,CALayer专注于内容的显示和绘制;

UIView随着版本的升级,经常发生改动,而CALayer很少变动。

同时UIView对CALayer的属性和功能进行了封装,便于开发者上手。

二、CALayer 介绍

CALayer类管理基于图像的内容的显示与动画。Layer经常用于提供view的显示,但是也可以直接使用。layer主要任务是管理提供的可见内容,同时layer也有自身的可见属性,比如说背景颜色、边框、阴影等。除了管理可见内容,layer也有关于其内容的几何信息(如位置、大小、和变换),用来显示在屏幕。修改layer上面的属性,会产生隐式动画。

如果layer是被view创建,那么layer的delegate就是view,不允许修改。

三、CALayer的使用

见参考。

参考

机制与策略 http://blog.chinaunix.net/uid-21736802-id-1817824.html

为什么有CALayer http://www.cocoachina.com/ios/20150828/13257.html

objc-layer http://objccn.io/issue-12-4/

layer的详细教程 http://blog.csdn.net/maylorchao/article/details/42652161

原文地址:https://www.cnblogs.com/loying/p/5210841.html