16.1.1 CALayer
2025年09月26日
16.1.1 CALayer
在介绍如何使用Core Animation进行视图动画设置之前,先介绍Core Animation中最重要的一个类——CALayer类。它用来管理基于图像的内容,允许开发者对该内容执行动画。
图层(Layer)通常与视图捆绑在一起存储,但也可以在没有视图的情况下使用它的实例。图层的主要工作是管理开发者提供的可视内容,但图层本身也具有可变的视觉属性,例如背景颜色、边框和阴影。除了管理可视内容外,图层还维护视图相关的几何信息(例如其位置、大小和变换),用于在屏幕上显示该内容。修改图层的属性一般应用于动画开始时需要图层所具有的几何信息(比如位置和大小)。图层实例通过满足CAMediaTiming协议来同步动画时间,CAMediaTiming协议需要满足的类型提供与时间相关的属性。
如果图层实例是由视图创建的,则视图通常会自动将其自身赋给图层的delegate属性,并且开发者不应更改这一关系。对于开发者自己创建的图层,可以自行分配实例给delegate属性,并使用该实例动态提供图层的内容并执行其他任务。图层还具有布局管理器(通过对layoutManager属性赋值),这个管理器用于管理子视图的布局。