在开始之前呢,先了解一下UIView和CALayer大体的区别(重点列举了以下四点):

  • UIView继承自 UIResponder,因此UIView 可以处理响应事件,而CALayer继承自NSObject,所以它只是负责内容的创建,绘制。
  • UIView负责对内容的管理,而CALayer则是对内容的绘制
  • UIView中有关位置的属性只有frame、bounds、center,而CALayer除了具备这些属性之外还有anchorPoint、position。
  • 通过修改CALayer可以实现UIView无法实现的很多高级功能

什么是Core Animation?

  Core Animation为iOS的核心动画,它提供了一组丰富的API可以用于实现各种高级酷炫的动画效果。Core Animation 书与QuartzCore.framework框架。

Core Animation的特点:

  • 直接作用于CALayer图层上,并非UIView上。
  • Core Animation的执行过程在后台执行,不阻塞主线程。
  • 可以使用CALayer绝大多数属性制作高级动画效果。

Core Animation中常用类的继承关系图:

  • CAMediaTiming 有很多动画公共的属性:比如常见的duration(动画执行周期)、speed(速度)、repeatCount(重复次数)等一些公共的属性
  • CAAnimation 主要用于实现动画的委托代理方法,比如动画开始事件和动画结束都是通过CAAnimation类实现的
  • CAPropertyAnimation 属性动画,分为基础动画CABasicAnimation和关键帧动画CAKeyframeAnimation。
  • CAAnimationGroup 组合动画,使用这个类可以把其他常用动画组合在一起
  • CATransition 转场动画,主要用于视图控制器或者多个View之间的视图切换场景

 

   

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!