layer阴影动画问题

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

阅读 4.5k
1 个回答

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

  1. CATransaction
  2. CAAnimation

本质上是一样的。先看CATransaction

[CATransaction begin];
[CATransaction setAnimationDuration:3.0];
layer.shadowOffset = CGSizeMake(10, 10);
[CATransaction commit];

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

CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"shadowOffset"];
anim.toValue = [NSValue valueWithCGSize:CGSizeMake(10, 10)];
anim.duration = 3.0;
anim.beginTime = 0;

[self.layer addAnimation:anim forKey:@"animName"];
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题