CABasicAnimation类的使用方式就是基本的关键帧动画。ios
所谓关键帧动画,就是将Layer的属性做为KeyPath来注册,指定动画的起始帧和结束帧,而后自动计算和实现中间的过渡动画的一种动画方式。xcode
将"QuartzCore.framework"这个库添加到项目中。而且在须要使用CABaseAnimation类的地方import头文件。app
使用"animationWithKeyPath:"方法进行CABasicAnimation的实例化,并指定Layer的属性做为关键路径来注册。动画
设定动画的属性。如下是属性及其对应的说明:spa
属性 | 说明 |
---|---|
duration | 动画时长(秒为单位)(注:此处与原文有出入) |
repeatCount | 重复次数。永久重复的话设置为HUGE_VALF。 |
beginTime | 指定动画开始时间。从开始指定延迟几秒执行的话,请设置为 「CACurrentMediaTime() + 秒数」的形式。 |
timingFunction | 设定动画的速度变化 |
autoreverses | 动画结束时是否执行逆动画 |
例:.net
设定动画开始和结束帧时的状态。设定的值会变为KeyPath所指定的属性的值。code
属性 | 说明 |
---|---|
fromValue | 开始值 |
toValue | 终了值(絶対値) |
byValue | 终了值(相对值) |
例:orm
为Layer添加设置完成的动画,能够给Key指定任意名字。对象
用CABasicAnimation执行动画,在动画结束后会回归动画开始前的状态。想要解决的话,必须设置“removedOnCompletion”和“fillMode”这两个属性。blog
实际上CABasicAnimation有不少种使用方法,如下将一一列举。
使用CAAnimationGroup类进行复数动画的组合。代码以下:
博主:设定委托对象,实现委托方法,以下:
CABasicAnimation正在进行动画的时候,点击了Home按钮后再回到app的时候,动画会被清空。
使用CABasicAnimation实现关键帧动画的示例程序以下:
Objective-C的示例程序的执行结果以下:
控制台输出以下: