美文网首页IOS开发
iOS 贝塞尔曲线动画简单实现

iOS 贝塞尔曲线动画简单实现

作者: WTFSSD | 来源:发表于2016-08-17 19:13 被阅读0次
-(void)quadCurveMove
{
      UIView * roundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
      roundView.backgroundColor = RandColor;
      [roundView addRadius:10];
      [self.roundViewArray addObject:roundView];
      roundView.x = (self.width - roundView.width)+roundView.width*0.5;;
      roundView.y = (self.height - roundView.height)-roundView.height*0.5;
      [self addSubview:roundView];
      //起始点
      CGPoint startPoint= CGPointMake(roundView.x, roundView.y);
     //结束点
       CGPoint endPoint=     CGPointMake(self.countLabel.x+self.countLabel.width*0.5,    self.countLabel.y+self.countLabel.height*0.5);
    //控制点
      CGPoint controlPoint = CGPointMake(endPoint.x+((startPoint.x-endPoint.x))*0.5, -100);
    
      //绘制贝塞尔曲线
      UIBezierPath * movePath = [UIBezierPath bezierPath];
      [movePath moveToPoint:startPoint];
      [movePath addQuadCurveToPoint:endPoint controlPoint:controlPoint];
    
    //关键帧动画
    CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    [keyFrameAnimation setDuration:0.4];
    keyFrameAnimation.path = movePath.CGPath;
    keyFrameAnimation.fillMode = kCAFillModeForwards;
    keyFrameAnimation.removedOnCompletion = NO;
    keyFrameAnimation.delegate = self;
    [roundView.layer addAnimation:keyFrameAnimation forKey:@"movingAnimation"];
}

//动画结束调用该方法
-(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
    self.count+=1;
    self.countLabel.text=[NSString stringWithFormat:@"%ld",self.count];
    [self.roundViewArray.firstObject removeFromSuperview];
    [self.roundViewArray removeObjectAtIndex:0];
}       

相关文章

  • Bezier曲线

    参考自iOS开发 贝塞尔曲线UIBezierPath和iOS-UI进阶13 - 贝塞尔曲线和帧动画结合 使用UIB...

  • 贝塞尔曲线

    实现1-7阶贝塞尔曲线的形成动画 自定义View——贝塞尔曲线

  • ios知识点(7)贝塞尔曲线

    贝塞尔曲线扫盲iOS UIBezierPath贝塞尔曲线常用方法iOS UIBezierPath(贝塞尔曲线)iO...

  • iOS-UIBezierPath动画之果冻动画

    我们今天做一个简单的贝塞尔曲线动画,做这个动画之前,我们要对UIBezierPath有简单的了解。贝塞尔曲线基础知...

  • android 水波纹+小船漂浮实现

    如图 实现思路贝塞尔曲线+属性动画 1:先画曲线 曲线类似正弦函数曲线,所以也就是画贝塞尔曲线。如何做到流动的效果...

  • 购物车动画

    使用贝塞尔曲线实现购物车抛物线动画关键步骤 使用path 构建贝塞尔曲线 使用PathMeasure计算曲线上每个...

  • iOS 贝塞尔曲线动画简单实现

  • Android自定义View实现仿美团底部导航动画

    目录 效果展示 实现原理 这个效果主要是运用了贝塞尔曲线、自定义ViewGroup以及动画的知识。1.贝塞尔曲线(...

  • 贝塞尔曲线

    有一种动画是跟着一条轨迹走的,又叫曲线动画,曲线有很多种,最著名的是贝塞尔曲线。什么是贝塞尔曲线,最简单的就是你用...

  • 开放的多点贝塞尔曲线实现

    开放的多点贝赛尔曲线实现 初识贝塞尔曲线 在实现开放的多点贝塞尔曲线之前,我们先了解下贝塞尔曲线的一些基本的知识....

网友评论

    本文标题:iOS 贝塞尔曲线动画简单实现

    本文链接:https://www.haomeiwen.com/subject/cinmsttx.html