CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform"];
animation.duration = 0.5;
animation.repeatCount = MAXFLOAT;
animation.autoreverses = YES;
animation.fromValue = [NSValue valueWithCATransform3D:CATransform3DRotate(self.imageView.layer.transform, -kRotateValue, 0.0, 0.0, kRotateValue)];
animation.toValue = [NSValue valueWithCATransform3D:CATransform3DRotate(self.imageView.layer.transform, kRotateValue, 0.0, 0.0, kRotateValue)];
[self.imageView.layer addAnimation:animation forKey:@"wiggle"];
self.imageView.layer.allowsEdgeAntialiasing = true;
項目實現(xiàn)了一個這樣的動畫,但是發(fā)現(xiàn)切換tabbar或者進入后臺再回來動畫失效了,找了好久發(fā)現(xiàn)只需要設(shè)置 下邊代碼就好了.參考這里
animation.removedOnCompletion = NO;
其中
self.imageView.layer.allowsEdgeAntialiasing = true;
是CALayer抗鋸齒抗鋸齒,參考這篇文章.