IOS提供了一系列核心动画类的接口来创建动态用户界面。核心动画类提供了以下一些方法:
1.对视图的图层类进行几何变换
图层主要用来显示内容的。每一个视图都默认创建其对应的图层最为根图层,其维护着一个图层类的集合,它们构成了一个图层树的层次结构,进行自底向上的绘制。我们可以改变图层的一些属性和进行图层位置的几何变换产生动画效果。
图层树包含每一层的对象模型值。他们就是你设定的图层的属性值。
呈现树包含了当前动画发生时候将要显示的值,例如你要给图层背景颜色设置新的值的时候,它会立即修改图层树里面相应的值。但是在呈现树里面背景颜色值在将要显示给用户的时候才被更新为新值。
渲染树在渲染图层的时候使用呈现树的值。渲染树负责执行独立于应用活动的复杂操作。渲染由一个单独的进程或线程来执行,使其对应用程序的运行循环影响最小。
图层一旦创建,你就可以通过矩阵变换来改变一个图层的几何形状。 CATransform3D 的数据结构定义一个同质的三维变换(4x4 CGFloat 值的矩阵),用于 图层的旋转,缩放,偏移,歪斜和应用的透视。
图层的两个属性指定了变换矩阵:transform 和 sublayerTransform 属性。图层的 transform 属性指定的矩阵结合图层的 anchorPoint 属性作用于图层和图层的子图层上 面。图 3 显示在使用 anchorPoint 默认值(0.5,0.5)的时候旋转和缩放变换如何影响一
个图层。图层的 sublayerTransform 属性指定的矩阵只会影响图层的子图层,而不会对 图层本身产生影响。
你可以通过以下的任何一个方法改变 CATransform3D 的数据结构:
1.使用CATransform3D函数,如:
CATransform3D transform = CATransform3DIdentity;
tran