layer阴影动画问题

在一个imgaeview设置了阴影之后,现在要做一个效果,把阴影向右移动,改变layer的shadowOffset可以向右移,但如何能做出动画轨迹?求思路

CALayer的动画比较繁杂,有几种方式:

  1. CATransaction
  2. CAAnimation

本质上是一样的。先看CATransaction

[CATransaction begin];
[CATransaction setAnimationDuration:3.0];
layer.shadowOffset = CGSizeMake10, 10;
[CATransaction commit];

然后是CAAnimation,这个比较简单,可以用CABasicAnimation

CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"shadowOffset"];
anim.toValue = [NSValue valueWithCGSize:CGSizeMake10, 10];
anim.duration = 3.0;
anim.beginTime = 0; [self.layer addAnimation:anim forKey:@"animName"];

发表评论

电子邮件地址不会被公开。 必填项已用*标注