iOS 动起来

CALayer

UIView和CALayer之间的关系

UIView和CALayer之间的关系.png

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 图层形变
  • 隐式属性动画的本质是这些属性的变动默认隐含了CABasicAnimation动画实现
  • anchorPoint属性是图层的锚点,范围在(01,01)表示在x、y轴的比例,这个点永远可以同position(中心点)重合,当图层中心点固定后,调整anchorPoint即可达到调整图层显示位置的作用(因为它永远和position重合)

CALayer绘图

1.通过图层代理drawLayer:inContext:方法绘制
2.通过自定义图层drawInContext:方法绘制

Core Animation

Core Animation.png

CAAnimation:核心动画的基础类,不能直接使用,负责动画的运行时间、速度控制,本身实现了CAMediaTiming协议

CAPropertyAnimation:属性动画的基类(通过属性进行动画设置,注意是可动画属性),不能直接使用

CAAnimationGroup:动画组,动画组是一种组合模式设计,可以通过动画组来进行所有动画行为的统一控制,组中国年所有动画效果可以并发执行

CATransition:转场动画,主要通过滤镜进行动画效果设置

CABasicAnimation:基础动画,通过属性修改进行动画参数控制,只用初始状态和结束状态

CAKeyframeAnimation:关键帧动画,同样是通过属性修改进行动画参数控制,但是同基础动画不同的是它可以有多个状态控制

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 翻译自“Collection View Programming Guide for iOS” 0 关于iOS集合视...
    lakerszhy阅读 3,932评论 1 22
  • 1.基本概念 1.报表计算模型 在设计器中单元格之间存在依赖关系,对于任意一个单元格都可以设置它的左父格与上父格。...
    fevermxp阅读 41,354评论 1 4
  • 一、误删资料恢复 一不小心删错了,还把回收站清空了,咋办啊?只要三步,你就能找回你删掉并清空回收站的东西。 步骤:...
    八爷君阅读 1,566评论 2 7
  • 也许你已经做了上千张表格,也许你用函数算了上千复杂的运算。也许认为excel不过如此,今天25招秘技希望可以帮到大...
    南屋阿米佛头阅读 3,763评论 0 51
  • # Markdown 语法和 MWeb 写作使用说明## Markdown 的设计哲学> Markdown 的目標...
    futian阅读 261评论 0 1