CAKeyFrameAnimation 关键帧动画

创建动画
    CAKeyframeAnimation * keyFrame =  [CAKeyframeAnimation animationWithKeyPath:@"bounds"];
    
    修改属性
    keyFrame.duration = 3;
    keyFrame.values = @[[NSValue valueWithCGRect:CGRectMake(0, 0, 200, 200)], [NSValue valueWithCGRect:CGRectMake(0, 0, 250, 250)] , [NSValue valueWithCGRect:CGRectMake(0, 0, 300, 300)]];

keyTimes : 值代表了出现动画的时刻 , 值得范围是[0, 1],
    keyTimes 和Value 是一一对应的 数字是百分比 , 数字必须是递增的 , [0 - 0.4] 执行第一帧 [0.4 - 0.8] 第二帧 [0.8 - 1] 执行第三帧
    keyFrame.keyTimes = @[@(0.4),@(0.8),@(1)];

添加动画
    [self.changeView.layer addAnimation:keyFrame forKey:@"keyFrame"];
 
    
    CAKeyframeAnimation * keyFrame = [CAKeyframeAnimation animationWithKeyPath:@"backgroundColor"];
    keyFrame.duration = 100;
    keyFrame.values = @[(id)[UIColor greenColor].CGColor , (id)[UIColor blueColor].CGColor , (id)[UIColor purpleColor].CGColor , (id)[UIColor whiteColor].CGColor];
    
    keyTimes中的第一个值是 0  , 不能被修改
    keyFrame.keyTimes = @[@(0.1),@(0.4),@(0.6),@(0.7)];
    
    [self.changeView.layer addAnimation:keyFrame forKey:nil];

时间: 2024-08-07 07:36:57

CAKeyFrameAnimation 关键帧动画的相关文章

CAKeyframeAnimation——关键帧动画和动画组~

•关键帧动画,也是CAPropertyAnimation的子类,与CABasicAnimation的区别是: –CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值 – •属性说明: –values:上述的NSArray对象.里面的元素称为“关键帧”(keyframe).动画对象会在指定的时间(duration)内,依次显示values数组中的每一个关键帧 –path:可

core Animation之CAKeyframeAnimation(关键帧动画)

CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值 属性解析: values:就是上述的NSArray对象.里面的元素称为”关键帧”(keyframe).动画对象会在指定的时间(duration)内,依次显示values数组中的每一个关键帧 path:可以设置一个CGPathRef\CGMutablePathRef,让层跟着路径

ios之CAKeyframeAnimation关键帧动画详解

CABasicAnimation算是CAKeyFrameAnimation的 特殊情况,即不考虑中间变换过程,只考虑起始点与目标点就可以了.而CAKeyFrameAnimation则更复杂一些,允许我们在起点与终点间自定义 更多内容来达到我们的实际应用需求!比如,手机淘宝中,当你添加物品到购物车后会出现将物品抛到购物车的效果,这种效果实现起来也不难,无非是先绘制抛物 线在执行position以及scale的GroupAnimation而已,以下图1是我模仿该功能小玩出来的一个demo示例,感兴趣

IOS第18天(6,CAKeyframeAnimation关键帧动画)

******* #import "HMViewController.h" @interface HMViewController () @property (weak, nonatomic) IBOutlet UIView *redView; @end @implementation HMViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading t

iOS:核心动画之关键帧动画CAKeyframeAnimation

CAKeyframeAnimation——关键帧动画 关键帧动画,也是CAPropertyAnimation的子类,与CABasicAnimation的区别是: –CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值 – 属性说明: –values:上述的NSArray对象.里面的元素称为“关键帧”(keyframe).动画对象会在指定的时间(duration)内,依次显

Swift - 使用CAKeyframeAnimation实现关键帧动画

1,CAKeyframeAnimation介绍 CAKeyframeAnimation可以实现关键帧动画,这个类可以实现某一属性按照一串的数值进行动画,就像是一帧一帧的制作出来一样. 2,使用样例(设置五个关键点坐标,图片依次按关键点移动) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 let animation = CAKeyframeAnimation(keyPath: "position") //设置5个位置点 let

缓动函数与关键帧动画

缓动函数与关键帧动画 缓动函数指定动画效果在执行时的速度,使其看起来更加真实. 现实物体照着一定节奏移动,并不是一开始就移动很快的.当我们打开抽屉时,首先会让它加速,然后慢下来.当某个东西往下掉时,首先是越掉越快,撞到地上后回弹,最终才又碰触地板. http://easings.net/zh-cn 缓动函数能让动画效果看起来更加真实:). iOS开发中,能用到缓动函数的地方就属于关键帧动画了,以下是我用关键帧动画做出来的模拟真实时钟效果的动画,效果相当逼真哦,只是这个gif图片的效果不好而已.

IOS动画(3)关键帧动画

关键帧动画中的时间系统,模型树和呈现树与基础动画一致,这里主要介绍关键帧动画的用法 CAKeyframeAnimation - (void)viewDidLoad { [super viewDidLoad]; CALayer *layer = [CALayer layer]; layer.bounds = CGRectMake(0, 0, 120, 120); layer.position = CGPointMake(100, 300); layer.cornerRadius = 60; lay

iOS基本动画/关键帧动画/利用缓动函数实现物理动画效果

先说下基本动画部分 基本动画部分比较简单, 但能实现的动画效果也很局限 使用方法大致为: #1. 创建原始UI或者画面 #2. 创建CABasicAnimation实例, 并设置keypart/duration/fromValue/toValue #3. 设置动画最终停留的位置 #4. 将配置好的动画添加到layer层中 举个例子, 比如实现一个圆形从上往下移动, 上代码: 1 //设置原始画面 2 UIView *showView = [[UIView alloc] initWithFrame