CALayer
UIView和CALayer之间的关系
UIView和CALayer之间的关系.pngCALayer
属性 | 说明 | 是否支持隐式动画 |
---|---|---|
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 | 图层形变 | 是 |
- 隐式属性动画的本质是这些属性的变动默认隐含了CABasicAnimation动画实现
- anchorPoint属性是图层的锚点,范围在(01,01)表示在x、y轴的比例,这个点永远可以同position(中心点)重合,当图层中心点固定后,调整anchorPoint即可达到调整图层显示位置的作用(因为它永远和position重合)
CALayer绘图
1.通过图层代理drawLayer:inContext:方法绘制
2.通过自定义图层drawInContext:方法绘制
Core Animation
Core Animation.pngCAAnimation:核心动画的基础类,不能直接使用,负责动画的运行时间、速度控制,本身实现了CAMediaTiming协议
CAPropertyAnimation:属性动画的基类(通过属性进行动画设置,注意是可动画属性),不能直接使用
CAAnimationGroup:动画组,动画组是一种组合模式设计,可以通过动画组来进行所有动画行为的统一控制,组中国年所有动画效果可以并发执行
CATransition:转场动画,主要通过滤镜进行动画效果设置
CABasicAnimation:基础动画,通过属性修改进行动画参数控制,只用初始状态和结束状态
CAKeyframeAnimation:关键帧动画,同样是通过属性修改进行动画参数控制,但是同基础动画不同的是它可以有多个状态控制
网友评论