iOS

/**

 *  抖动效果

 *

 *  @param view 要抖动的view

 */

- (void)shakeAnimationForView:(UIView *) view {

    CALayer *viewLayer = view.layer;

    CGPoint position = viewLayer.position;

    CGPoint x = CGPointMake(position.x + 1, position.y);

    CGPoint y = CGPointMake(position.x - 1, position.y);

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];

    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault]];

    [animation setFromValue:[NSValue valueWithCGPoint:x]];

    [animation setToValue:[NSValue valueWithCGPoint:y]];

    [animation setAutoreverses:YES];

    [animation setDuration:.06];

    [animation setRepeatCount:3];

    [viewLayer addAnimation:animation forKey:nil];

}
原文地址:https://www.cnblogs.com/gongyuhonglou/p/7873079.html