iPhone应用程序之CoreAnimation应用和使用方法 |
本文标签:iPhone CoreAnimation 动画 iPhone应用程序之CoreAnimation应用和使用方法是本文要介绍的内容,CoreAnimation是苹果对用户界面动画的封装,它的framework是QuartzCore.framework 。使用时需要将这个库添加的工程,我们一起来看内容详解 。 1、CALayerCALayer的绝大多数的属性都支持动画,对这些值直接进行设置会隐式的调用动画效果,只不过动画的持续时间(duration)较 短,几乎看不出效果 。如果要达到明显的动画效果,就需要显式的调用动画 。 常用的属性:
如何调动画?
其中anim是自己创建的动画对象,继承于CAAnimation 。key是动画的键,一般是nil,或自己设定的值,意义不大 。 2、CAAnimationCAAnimation是所有动画类的基类,一般不会直接使用 。它提供给所有子类的一个很有用的属性是
是一个CAMediaTimingFunction对象,一般这样创建:
可以替换为一下值
3、CABaseAnimation基本的动画,直接作用于CALayer的对象的各种属性 。 下面是让一个layer由蓝色渐渐变为透明的效果动画
指定要进行动画的属性,比如上例中要对layer的backgroundColor属性进行变化 。
path指定要变化的属性路径,比如@“bounds”,@“bounds.size.width”等 。 这三个属性只需要提供1个或2个就可以了
具体的作用是: 如果有fromValue和toValue,那么动画就是由fromValue变化到toValue 。 如果有fromValue和byValue,那么动画就是由fromValue变化到fromValue+byValue 。 如果只有toValue,那么动画就是由当前的值变化到toValue 。 如果只有byValue,那么动画就是由当前的值变化到当前值+byValue 。 你可以这么想像:当CALayer对象中添加了一个动画后,系统会开启一个定时器,不断刷新layer的属性的值,其值由fromValue和toValue根据一定的插值算法来计算出来的 。 只是想像,layer的属性在动画过程中并没有改变,这些显示效果都是由GPU完成的,不会改变layer的属性值,如果必要你必须自 己设定layer的属性 。 4、CAKeyframeAnimation关键帧动画 有时你或许需要一个非固定方向的动画,比如让一个layer先向右移动100个像素,然后在向下移动100个像素 。这时就可以用关键 帧动画 。
6、UIView的动画支持UIView可以直接支持view的动画,可以影响多个View 。 动画是线性变化的,默认 动画开始变化慢,越来越快 动画开始变化快,越来越慢 慢入慢出,先慢再快,最后又慢,比较常用
小结:iPhone应用程序之CoreAnimation应用和使用方法的内容介绍完了,希望本文对你有所帮助! |