iOS 让物体进行曲线运动


iOS 开发中有时候需要对某些物体进行简单的动画处理

比如frame变大变小

,或者是位置改变

目前的位置改变动画,其中有些需要实现曲线运动。


曲线运动该使用什么样的方法呢?

答案是 layer的postion动画可以实现。


一个简单的曲线运动的动画可以这么写:

        CGMutablePathRef path = CGPathCreateMutable();
        CGPathMoveToPoint(path, NULL, startPoint.x, startPoint.y);
        CGPathAddQuadCurveToPoint(path, NULL, controlPoint.x , controlPoint.y, endPoint.x, endPoint.y);
        CAKeyframeAnimation *animate = [CAKeyframeAnimation animationWithKeyPath:@"position"];
        animate.delegate =self;
        animate.duration = 1.5;
        animate.fillMode = kCAFillModeForwards;
        animate.repeatCount = 0;
        animate.path = path;
        animate.removedOnCompletion = NO;
        CGPathRelease(path);
        [self.panda.layer addAnimation:animate forKey:@"jakillTest"];

上述可以实现一个 物体的 曲线运动动画。原理就是使用到了 CGMutablePathRef

向其中添加一些路径,

动画开始时讲路径赋值给 layer层便可。


详细的代码见demo

demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值