CASpringAnimation的简单介绍

来源:互联网 发布:进出口银行 知乎 编辑:程序博客网 时间:2024/05/16 09:27

  首先CASpringAnimation是继承自CABasicAnimation


  我们创建一个view来展现动画

  UIView * animView =[[UIView alloc]init];

  animView.backgroundColor = [UIColoryellowColor];

  animView.frame =CGRectMake(100,100, 100, 100);

  _animView = animView;

  [self.viewaddSubview:animView];


  

    弹簧动画的介绍

  

  CASpringAnimation * anim = [CASpringAnimation animation];

  anim.keyPath = @"position.x";

  anim.fromValue =@(self.animView.center.x);

  anim.toValue = @(self.animView.center.x+50);

  

  默认是1必须大于0

  若你设置的值小于0 会有CoreAnimation: mass must be greater than0.这个信息提示你

  并且把你的小于0的值改成1

  对象质量质量越大 弹性越大需要的动画时间越长

  anim.mass = 100;

  

  必须大于0 默认是100

  若设置的小于0会给你一个提示 并把值改成100

  刚度系数,刚度系数越大,产生形变的力就越大,运动越快。

  anim.stiffness = 90;

  

  

  默认是10必须大于或者等于0

  若设置的小于0会给你一个提示 并把值改成10

  阻尼系数阻止弹簧伸缩的系数 阻尼系数越大,停止越快。时间越短

  anim.damping = 10;

  

  

  默认是0

  初始速度,正负代表方向,数值代表大小

  

  anim.initialVelocity = 2;

  

  计算从开始到结束的动画的时间,根据当前的参数估算时间

  只读的,不能赋值

  anim.duration = anim.settlingDuration;

  

  [self.animView.layer addAnimation:anim forKey:@""];


   补充一点


  [UIViewanimateWithDuration:3delay:1usingSpringWithDamping:10initialSpringVelocity:1               options:UIViewAnimationOptionRepeatanimations:^{

    

  } completion:^(BOOL finished) {

    

  }];

 

  这个动画基本可以设置弹簧动画,但是要设置的更精确的话,还是用CASpringAnimation来设置的比较好



0 0
原创粉丝点击