如何在objective-c中使动画在动画中振动?

时间:2014-03-21 18:58:44

标签: ios animation uiview

我有一个名为qShake的UIView。当用户出错时,我希望该视图在很短的时间内在一个小空间内从左向右摇动。如何制作动画呢?

1 个答案:

答案 0 :(得分:7)

您可以使用CABasicAnimation,并将重复计数设置为某个较小的值,同时设置您想要振动的view.layer的位置。请注意,视图的clipsToBounds必须设置为NO。还要确保在项目中包含QuartzCore框架。

- (void)shakeView:(UIView *)view
{
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.x"];
    animation.duration = 0.1;
    animation.byValue = @(20);
    animation.autoreverses = YES;
    animation.repeatCount = 10;
    [view.layer addAnimation:animation forKey:@"Shake"];
}