美文网首页
CABasicAnimation使用方法

CABasicAnimation使用方法

作者: 没脑子的程序员 | 来源:发表于2018-07-14 00:19 被阅读0次

CABasicAnimation用于实现两个状态之间的动画,只需要给出一个初始状态和一个结束状态,系统将自动实现两个状态之间的动画效果

UIView *demoView = [[UIView alloc]init];
demoView.frame = CGRectMake(100, 100, 50, 50);//position为(125,125)
demoView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:demoView];

CABasicAnimation *anima = [CABasicAnimation animationWithKeyPath:@"position"];
anima.fromValue = [NSValue valueWithCGPoint:CGPointMake(200, 300)];
anima.toValue = [NSValue valueWithCGPoint:CGPointMake(300, 500)];
anima.duration = 3.0f;
anima.beginTime = CACurrentMediaTime() + 1;
[demoView.layer addAnimation:anima forKey:@"positionAnimation"];

上面的代码的意思是,1秒后将View的positionfromValue移动到toValue,该动画持续3秒钟

KeyPath填写的动画需要改变的参数,这个参数是CALayer的参数(CABasicAnimation是对CALayer进行展示动画的),CALayer中注释中有Animatable的参数都是支持动画效果的。

fromValue指定动画的初始状态
toValue指定动画的结束状态
byValue指定动画的增量

当只指定一个状态时:

只指定fromValue,视图的原有状态将变成结果状态,参考上面的代码里参数的值,视图的中心将从(200,300)移动到(125,125)

只指定toVaule,参考上面的代码里参数的值,视图的中心将从(125,125)移动到(300, 500)

只指定byValue,如(byX,byY),视图中心将从(125,125)移动到(125+byX,125+byY)

当指定两个状态的时:

toValuefromValue,不需要解释了吧

toValuebyValie,如(byX,byY),视图中心将从(200-byX,300-byY)移动到(300,500)

fromValuebyValue,如(byX,byY),视图中心将从(200,300)移动到(200+byX,300+byY)

简单点说 fromValue + byValue = toValue,最后能等得出toValuefromValue

上面三个值不能同时指定,同时指定动画初始状态和结果状态将不能确定。

- (void)addAnimation:(CAAnimation *)anim forKey:(nullable NSString *)key;

最后将动画添加到视图的CALayer层上,key在需要检测动画播放进度或者是移除动画时会使用的,请注意最好不要重复。

相关文章

  • CABasicAnimation使用总结

    实例化 使用方法animationWithKeyPath:对CABasicAnimation进行实例化,并指定La...

  • CABasicAnimation笔记

    实例化 使用方法animationWithKeyPath:对 CABasicAnimation进行实例化,并指定L...

  • CABasicAnimation使用总结

    实例化 使用方法animationWithKeyPath:对 CABasicAnimation进行实例化,并指定L...

  • CABasicAnimation使用方法

    CABasicAnimation用于实现两个状态之间的动画,只需要给出一个初始状态和一个结束状态,系统将自动实现两...

  • 知识点大全(四)

    1.CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)https://blog.csdn.n...

  • ios oc 雷达扫描动画

    - (void)anim { CABasicAnimation *op = [CABasicAnimation ...

  • 点击放大图片

    CABasicAnimation *animation=[CABasicAnimation animationWi...

  • iOS tip(1)

    CABasicAnimation *animation = [CABasicAnimation animation...

  • CABasicAnimation

    CABasicAnimation 父类是CAPropertyAnimation CABasicAnimation—...

  • iOS 动画

    CABasicAnimation 和 CASpringAnimation CABasicAnimation基本动画...

网友评论

      本文标题:CABasicAnimation使用方法

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