CAKeyframeAnimation

原创 2016年05月30日 14:15:52

关键帧通过path和values,两者只用一个,设置了path之后values就没有用了;
默认平分时间:总时间/(帧数-1),还可以通过keyTimes各个关键帧用的时间0-1,要跟calculationMode一起用,alculationMode有5种:
kCAAnimationLinear calculationMode的默认值,表示当关键帧为座标点的时候,关键帧之间直接直线相连进行插值计算;
kCAAnimationDiscrete 离散的,就是不进行插值计算,所有关键帧直接逐个进行显示;
kCAAnimationPaced 使得动画均匀进行,而不是按keyTimes设置的或者按关键帧平分时间,此时keyTimes和timingFunctions无效;
kCAAnimationCubic 对关键帧为座标点的关键帧进行圆滑曲线相连后插值计算,对于曲线的形状还可以通过tensionValues,continuityValues,biasValues来进行调整自定义,这里的数学原理是Kochanek–Bartels spline,这里的主要目的是使得运行的轨迹变得圆滑;
kCAAnimationCubicPaced 看这个名字就知道和kCAAnimationCubic有一定联系,其实就是在kCAAnimationCubic的基础上使得动画运行变得均匀,就是系统时间内运动的距离相同,此时keyTimes以及timingFunctions也是无效的.

CAKeyframeAnimation *keyAni = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale"];
    [keyAni setKeyTimes:@[[NSNumber numberWithFloat:0.0],
                          [NSNumber numberWithFloat:0.8]
                          ,[NSNumber numberWithFloat:0.2]
                          ]];
    [keyAni setValues:@[[NSValue valueWithCATransform3D:CATransform3DMakeScale(1, 1, 1)],
                        [NSValue valueWithCATransform3D:CATransform3DMakeScale(2, 2, 1)]
                        ,[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.5, 0.5, 1)]
                        ]];
    [keyAni setCalculationMode:kCAAnimationCubicPaced];
    [oneLayer addAnimation:keyAni forKey:@"keyAni"];

相关文章推荐

ios开发总结之 CAKeyframeAnimation

1.storyboard中加载一个view 2.demo示例1 /** (1)values属性 values属性指明整个动画过程中的关键帧点,需要注意的是,起点必须作为values的第一个...

CAKeyframeAnimation实现抖动效果

// // ViewController.m #import "ViewController.h" // 角度转弧度 #define angle2Radion(angle) (angle / ...

CAKeyframeAnimation

最近很常用 CAKeyframeAnimation 來製作動畫,但有時想找出 animationWithKeyPath 的值卻很困難,所以在這裡歸納一下: transform.scale = 比例轉...

CAKeyframeAnimation 关键帧动画的用法

一、原理 之所以叫做关键帧动画是因为,这个类可以实现,某一属性按照一串的数值进行动画,就好像制作动画的时候一帧一帧的制作一样。 一般使用的时候  首先通过 animationWithKeyPat...

iOS:CAKeyframeAnimation实现UIImageView精准时间的动画结束事件

由于项目 界面效果 的需要,不能用gif来展示开机动画(动画质量,颜色差太多),只能一帧一帧图片显示。所以自然想到UIImageView的animationImages来做动画。不过系统没提供具体的结...

<原>关键帧动画CAKeyframeAnimation

之所以叫做关键帧动画是因为,这个类可以实现,某一属性按照一串的数值进行动画,就好像制作动画的时候一帧一帧的制作一样。 一般使用的时候  首先通过 animationWithKeyPath 方法 创建...

CAKeyframeAnimation

- (void)keyAnimationPath{ UIView *keyPathAnimationView = [[UIView alloc] initWithFrame:CGRectMak...

iOS动画进阶 - CAKeyframeAnimation实现过山车动画

偶然间在网页上看到一个过山车动画觉得很炫,就想用swift纯代码实现了一个类似的效果,因为没有设计天赋,所以就完全高仿的人家的效果-.-下面上效果图: 给大家介绍一下项目中主要会用到的类: CASha...

iOS CoreAnimation 关键帧动画 CAKeyframeAnimation

关键帧动画, 关键帧动画就是在动画控制过程中开发者指定主要的动画状态, 至于各种状态间动画如何进行则由系统自动运算补充(每个两个关键帧之间系统形成的动画成为补间动画), 这种动画的好处就是开发者不用逐...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CAKeyframeAnimation
举报原因:
原因补充:

(最多只允许输入30个字)