我有一个名为qShake的UIView。当用户出错时,我希望该视图在很短的时间内在一个小空间内从左向右摇动。如何制作动画呢?
答案 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"];
}