引言
之前说到CALayer以及子类动画,并且CALayer的有些属性自带隐式动画,不明白的可自行查看之前的文章,今天说一说CoreAnimation核心动画。
在开发过程中,对于动画效果,很多人好像都青睐于UIView动画,简单快捷,一个代码块能实现一个动画让很多其他系统下开发的小伙伴看红了眼。但是当有一些特殊的需求时,那你难免会有大量的Block嵌套产生,同时如何高效的控制动画效果,比如停止动画,控制动画节奏等会让你无从下手,难免出现出现上图这种情况。那么,为了能更加顺畅的吹牛逼,可能你需要了解核心动画CoreAnimation。
首先我们先补习一下关于CALyaer你可能不知道的事情:
我们来看一种
layer
的层次结构Layer Tree
,这种层次结构分为以下三种:
Model Tree
:也就是我们通常所说的layer
。Presentation Tree
:呈现出来的layer
,也就是我们做动画时你看到的那个layer
,可以通过layer.presentationLayer
获得。Render Tree
:私有,无法访问。主要是对Presentation Tree
数据进行渲染,并且不会阻塞线程。
是不是你听不明白?你是不是还很懵逼?是不是想再详细点?
⚠️:别砍我,等举个