How do you create a wiggle animation similar to iphone deletion animation

前端 未结 8 2331
-上瘾入骨i
-上瘾入骨i 2020-12-12 16:57

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 be

8条回答
  •  旧时难觅i
    2020-12-12 17:49

    I tried to do something like that for an iPad app.

    I tried to do some rotations (with CAAnimation) to the view. Here is a sample code I wrote :

    - (CAAnimation*)getShakeAnimation {
    
        CABasicAnimation *animation;
        CATransform3D transform;
    
        // Create the rotation matrix
        transform = CATransform3DMakeRotation(0.08, 0, 0, 1.0);
    
        // Create a basic animation to animate the layer's transform
        animation = [CABasicAnimation animationWithKeyPath:@"transform"];
    
        // Assign the transform as the animation's value
        animation.toValue = [NSValue valueWithCATransform3D:transform];
    
        animation.autoreverses = YES;  
        animation.duration = 0.1;  
        animation.repeatCount = HUGE_VALF;  
    
        return animation;
    
    }

    And you should try to apply this one to your layer (with function : addAnimation). Here, autoreverses property is to alternate left and right orientation. Try setting others values to the angle and duration.

    But in my case I had to add others angles to the CATransform3DMakeRotation method, depending on the initial layer orientation ^^

    Good Luck ! Vincent

提交回复
热议问题