如何创建类似于iphone删除动画的摆动动画

如何创建类似于iphone删除动画的摆动动画

本文介绍了如何创建类似于iphone删除动画的摆动动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们目前正在开发包含一系列图标的应用程序。我们希望图标在按下时像应用程序删除动画一样摆动。编码这个动画序列的最佳方法是什么?

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删除动画的摆动动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 14:33