CALayer是UIView可以响应事件。一般来说,layer可以有两种用途:一是对view相关属性的设置,包括圆角、阴影、边框等参数;二是实现对view的动画操控。
因此对一个view进行core animation动画,本质上是对该view的.layer进行动画操纵。
1.CALayer常见属性
//新建图层
CALayer \* layer = [CALayer layer];
//图层颜色
layer.backgroundColor = [UIColor redColor].CGColor;
//图层大小
layer.bounds = CGRectMake(0, 0, 100, 100);
//图层锚点
layer.anchorPoint = CGPointMake(0, 0);
//图层位置
layer.position = self.view.center;
//圆角半径
layer.cornerRadius = 50;
//边框宽度
layer.borderWidth = 2;
//边框颜色
layer.borderColor = [UIColor blackColor].CGColor;
//添加图层
[self.view.layer addSublayer:layer];
2.CALayer有2个非常重要的属性:position和anchorPoint
@property CGPoint position;
用来设置CALayer在父层中的位置
以父层的左上角为原点(0, 0)
@property CGPoint anchorPoint;
称为“定位点”、“锚点”
决定着CALayer身上的哪个点会在position属性所指的位置
以自己的左上角为原点(0, 0)
它的x、y取值范围都是0~1,默认值为(0.5, 0.5)
layer.anchorPoint = CGPointMake(0, 0);
layer.anchorPoint = CGPointMake(0.5, 0.5);
layer.anchorPoint = CGPointMake(1, 1);