• OC动画:CAKeyframeAnimation


     //    方法一 用法1​ Value方式
        //创建动画对象
        
        CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
        
        //设置value
        
        NSValue *value1=[NSValue valueWithCGPoint:CGPointMake(100, 100)];
        
        NSValue *value2=[NSValue valueWithCGPoint:CGPointMake(200, 100)];
        
        NSValue *value3=[NSValue valueWithCGPoint:CGPointMake(100, 200)];
        
        NSValue *value4=[NSValue valueWithCGPoint:CGPointMake(200, 200)];
        
        NSValue *value5=[NSValue valueWithCGPoint:CGPointMake(100, 300)];
        
        NSValue *value6=[NSValue valueWithCGPoint:CGPointMake(200, 300)];
        
        animation.values=@[value1,value2,value3,value4,value5,value6];
        
        //重复次数 默认为1
        
    //    animation.repeatCount=MAXFLOAT;
        
        //设置是否原路返回默认为不
        
    //    animation.autoreverses = YES;
        
        //设置移动速度,越小越快
        
        animation.duration = 4.0f;
        
        animation.removedOnCompletion = NO;
        
        animation.fillMode = kCAFillModeForwards;
        
        animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
        
        animation.delegate=self;
        
        //给这个view加上动画效果
        
        [redView.layer addAnimation:animation forKey:nil];
    

    CAKeyframeAnimation *keyframeAnimation=[CAKeyframeAnimation animationWithKeyPath:@"position"];
        //    创建一个CGPathRef对象,就是动画的路线
        CGMutablePathRef path = CGPathCreateMutable();
        //    设置开始位置
        CGPathMoveToPoint(path, NULL, redView.layer.position.x-40, redView.layer.position.y+40);//移动到起始点
        //    沿着路径添加四曲线点移动
        CGPathAddQuadCurveToPoint(path, NULL, 100, 100, self.view.frame.size.width, 0);
        keyframeAnimation.path = path;
        keyframeAnimation.delegate = self;
        CGPathRelease(path);
        keyframeAnimation.duration = 7;
        [redView.layer addAnimation:keyframeAnimation forKey:@"KCKeyframeAnimation_Position"];
    
  • 相关阅读:
    反射模块与模块之间的通信
    WCF传输协议
    IIs7 报错
    MVC3 ActionResult 返回类型
    三条数据 判断其中最大与最小
    dos批处理命令详解
    十拿九稳过倒桩之(倒桩技巧)
    九项路考(1)铁饼神功
    山鸽子
    九项路考(2)
  • 原文地址:https://www.cnblogs.com/hualuoshuijia/p/9946899.html
Copyright © 2020-2023  润新知