首先给 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];
网友评论