标签:
CALayer需要导入这个框架:#import <QuartzCore/QuartzCore.h>
一、CALayer常用属性
| 属性 | 说明 | 是否支持隐式动画 |
| anchorPoint |
和中心点position重合的一个点,称为“锚点”,锚点的描述是相对于x、y位置比例而言的默认在图像中心点(0.5,0.5)的位置 |
是 |
| backgroundColor |
图层背景颜色 |
是 |
| borderColor |
边框颜色 |
是 |
| borderWidth |
边框宽度 |
是 |
| bounds |
图层大小 |
是 |
| contents |
图层显示内容,例如可以将图片作为图层内容显示 |
是 |
| contentsRect |
图层显示内容的大小和位置 |
是 |
| cornerRadius |
圆角半径 |
是 |
| doubleSided |
图层背面是否显示,默认为YES |
否 |
| frame |
图层大小和位置,不支持隐式动画,所以CALayer中很少使用frame,通常使用bounds和position代替 |
否 |
| hidden |
是否隐藏 |
是 |
| mask |
图层蒙版 |
是 |
| maskToBounds |
子图层是否剪切图层边界,默认为NO |
是 |
| opacity |
透明度 ,类似于UIView的alpha |
是 |
| position |
图层中心点位置,类似于UIView的center |
是 |
| shadowColor |
阴影颜色 |
是 |
| shadowOffset |
阴影偏移量 |
是 |
| shadowOpacity |
阴影透明度,注意默认为0,如果设置阴影必须设置此属性 |
是 |
| shadowPath |
阴影的形状 |
是 |
| shadowRadius |
阴影模糊半径 |
是 |
| sublayers |
子图层 |
是 |
| sublayerTransform |
子图层形变 |
是 |
| transform |
图层形变 |
是 |
CALayer注意点
- 隐式属性动画的本质是这些属性发生变动是,默认隐含了CABasicAnimation动画实现,所以看起来是有动画效果的,默认0.25秒
- 在CALayer中很少使用frame属性,因为frame本身不支持动画效果,通常使用bounds和position代替。
- CALayer中透明度使用opacity表示而不是alpha;中心点使用position表示而不是center。
- anchorPoint属性是图层的锚点,范围在(0~1,0~1)表示在x、y轴的比例,这个点永远可以同position(中心点)重合,当图层中心点固定后,调整anchorPoint即可达到调整图层显示位置的作用(因为它永远和position重合)
二、 CALayer的基本使用
2.1、赋值方式
self.iconView.layer.transform = CATransform3DMakeScale(1.5, 0.5, 0)
self.iconView.layer.transform = CATransform3DMakeRotation(M_PI_4, 0, 0, 1) //3D旋转
self.iconView.layer.shadowOpacity = 0.5; 设置阴影透明度
self.iconView.layer.shadowColor = [UIColor blueColor].CGColor; 设置阴影颜色
self.iconView.layer.shadowOffset = CGSizeMake(20, 20); 设置阴影偏差
2.2、KVC方式
[self.iconView.layer setValue:@(-100) forKeyPath:@"transform.translation.x"]; //具体可以传递哪些参数,可以参看官方文档
CALayer的基本使用
标签:
原文地址:http://www.cnblogs.com/hepingqingfeng/p/5445799.html