-(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