给layer添加抖动效果分类

首先给 CALayer 添加一个 分类, 然后再.h中声明一个shake方法
-(void)shake;
在.m中实现方法

-(void)shake{
  CAKeyframeAnimation *kfa = [CAKeyframeAnimation animationWithKeyPath:@"transform.translation.x"];
  CGFloat s = 5;
  kfa.values = @[@(-s),@(0),@(s),@(0),@(-s),@(0),@(s),@(0)];
  //时长
  kfa.duration = 0.3f;
  //重复
  kfa.repeatCount = 2;
  //移除
  kfa.removedOnCompletion = YES;
  [self addAnimation:kfa forKey:@"shake"];
}

这样就可以很方便的给layer添加抖动动画效果

使用如下
//添加一个shake动画
1.给一个自定义label添加
[self.layer shake]
2.给viewController添加
[self.view.layer shake];

你可能感兴趣的:(给layer添加抖动效果分类)