iOS动画的原理

构成iOS控件的CALayer实际上是有三个layer的,

  • model layer
  • presentation layer
  • render layer

1.model layer

  这个层就是保持着用户设定的各种属性数据的层,也是我们经常与其交互的层。

2.presentation layer

  这个层是动画执行过程中,保持中间属性值得层,这个层实际上是复制了model layer层后,根据用户设定的动画,由系统在每一帧设定了相应属性值后的层。当动画结束后,这个层会被自动移除。

  只有在需要在动画期间得到视图的属性时才会需要访问这个层。

3.render layer

  这个层才是真正的执行动画的层,由于这个层是Core Animation私有,并不知道这个词里到底包含着什么数据。不过有model layer和presentation layer,实际上可以得到任何所需要的数据了

所谓动画,实际上就是由model layer来设定视图的实际属性,由presentation layer来保存每帧视图的属性,由render layer来呈现给用户。

猜你喜欢

转载自weiqingfei.iteye.com/blog/2214748