-(void)earthquake:(UIView*)itemView
{
CGFloat t =2.0;
CGAffineTransform leftQuake =CGAffineTransformTranslate(CGAffineTransformIdentity, t,-t);
CGAffineTransform rightQuake =CGAffineTransformTranslate(CGAffineTransformIdentity,-t, t);
itemView.transform = leftQuake; // starting point
[UIView beginAnimations:@"earthquake" context:(__bridge void *)(itemView)];
[UIViewsetAnimationRepeatAutoreverses:YES];// important
[UIViewsetAnimationDelay:0.3];
[UIViewsetAnimationRepeatCount:5];
[UIViewsetAnimationDuration:0.07];
[UIViewsetAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(earthquakeEnded:finished:context:)];
itemView.transform = rightQuake;// end here & auto-reverse
[UIViewcommitAnimations];
}
-(void)earthquakeEnded:(NSString*)animationID finished:(NSNumber*)finished context:(void*)context
{
if([finished boolValue])
{
UIView* item =(__bridge UIView*)context;
item.transform =CGAffineTransformIdentity;
}
}
下面是一篇有关IOS CGAffineTransform 用于视图平移,放缩,旋转的链接http://www.2cto.com/kf/201312/266676.html