问题描述
我们目前正在开发包含一系列图标的应用程序。我们希望图标在按下时像应用程序删除动画一样摆动。编码这个动画序列的最佳方法是什么?
We are currently developing an application that contains a series of icons. We want the icons to wiggle like the app deletion animations when pressed. What would be the best way to code this animation sequence?
推荐答案
Vinzius的答案非常酷。然而,摆动仅从0弧度旋转到0.08。因此,摆动看起来有点不平衡。如果您遇到同样的问题,那么您可能希望使用CAKeyframeAnimation而不是CABasicRotation添加负旋转和正旋转:
The answer by Vinzius is very cool. However the wobble only rotates from 0 Radians to 0.08. Thus the wobble can look a little unbalanced. If you get this same issue then you may want to add both a negative and a positive rotation by using a CAKeyframeAnimation rather than a CABasicRotation:
- (CAAnimation*)getShakeAnimation
{
CAKeyframeAnimation* animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
CGFloat wobbleAngle = 0.06f;
NSValue* valLeft = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(wobbleAngle, 0.0f, 0.0f, 1.0f)];
NSValue* valRight = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(-wobbleAngle, 0.0f, 0.0f, 1.0f)];
animation.values = [NSArray arrayWithObjects:valLeft, valRight, nil];
animation.autoreverses = YES;
animation.duration = 0.125;
animation.repeatCount = HUGE_VALF;
return animation;
}
您可以将此动画方法用于您的视图或按钮。
You can use this animation method for your view or button like this.
[self.yourbutton.layer addAnimation:[self getShakeAnimation] forKey:@""];
这篇关于如何创建类似于iphone删除动画的摆动动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!