层动画-可做动画的属性!

图层动画很像视图动画;你只需在某段时间内,在开始和结束值之间对属性进行动画处理,然后让Core Animation处理中间的渲染。

然而,层具有比视图更多的可动画属性;当涉及到你的设计效果时,这给了你很多选择和灵活性;许多CALayer子类都添加了可以在动画中使用的属性。

本章将向你介绍CALayer和Core Animation的基础知识。你会有一种在图层中使用动画的感觉;你将学习如何移动图层,将它们淡入淡出,并创建与你使用UIKit创建的动画类似的动画。

可做动画的属性

CALayer中的一些可动画属性直接对应于前面章节中使用的视图属性,如框架、位置和不透明度。在本章中,你会在图层动画中使用熟悉的和新的动画属性。

你将重新创建一些先前的视图动画,但是这次使用图层动画,这样你就可以对比这两个动画的不同了。

Position and size 位置和大小

image.png

对层的位置、大小或转换进行动画处理同样会影响该层中包含的任何视图,就像你直接对视图本身进行动画一样。

•bounds:使图层的边框有动画效果。
•position:修改动画层在其母层内的位置。你可以设置动画的位置。如果你想控制只在一个轴上的运动,你可以修改x或y的位置。
•transform:修改图层,移动,缩放,旋转图层。你甚至可以在三维空间中对层进行动画处理,这是单凭视图是无法做到的。

Border

image.png

你可以很容易地动画显示层的边界,改变它的颜色,宽度和角的半径:
•borderColor:修改这个会改变边色。
•borderWidth:修改此设置会增加或缩小边框的宽度。
•cornerRadius:修改它会改变图层圆角的半径。

Shadow 阴影

image.png

你可以使图层阴影的各个面都有动画效果:
·shadowOffset:修改它,使阴影看起来更接近或更远离图层。
·shadowOpacity:修改它,使阴影淡入或淡出。
·shadowPath:修改它以改变图层的阴影形状。你可以创建不同的3D效果,使你的图层看起来像漂浮在不同的阴影形状和位置上。
•shadowRadius:修改这个来控制阴影的模糊;这在模拟视图朝向或远离投影的表面移动时特别有用。

Contents

image.png

最后,有一些属性用来控制层的内容如何呈现:

•contents:修改此内容,将原始TIFF或PNG数据作为图层内容。
•mask:你可以用蒙版层可见内容的形状或图像。
•opacity:修改它以使图层内容的透明度有动画效果。

请记住,这只是你可以动画的部分属性列表;CALayer的子类通常还有其他属性可以进行动画处理。

上面列出的属性足以让你开始使用层动画了。

你可能感兴趣的:(层动画-可做动画的属性!)