图片绕中心点旋转

  • (UIImageView *)rotate360DegreeWithImageView:(UIImageView *)imageView{
    CABasicAnimation *animation = [ CABasicAnimation
    animationWithKeyPath: @"transform" ];
    animation.fromValue = [NSValue valueWithCATransform3D:CATransform3DIdentity];

    //围绕Z轴旋转,垂直与屏幕
    animation.toValue = [ NSValue valueWithCATransform3D:

                       CATransform3DMakeRotation(M_PI, 0.0, 0.0, 1.0) ];
    

    animation.duration = 0.5;
    //旋转效果累计,先转180度,接着再旋转180度,从而实现360旋转
    animation.cumulative = YES;
    animation.repeatCount = 1000;

    //在图片边缘添加一个像素的透明区域,去图片锯齿
    CGRect imageRrect = CGRectMake(0, 0,imageView.frame.size.width, imageView.frame.size.height);
    UIGraphicsBeginImageContext(imageRrect.size);
    [imageView.image drawInRect:CGRectMake(1,1,imageView.frame.size.width-2,imageView.frame.size.height-2)];
    imageView.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    [imageView.layer addAnimation:animation forKey:nil];
    return imageView;
    }

animation.repeatCount = 1000;
这个你要想一直旋转,设置一个无穷大就得了

停止的话直接这样就停止了
[self.view.layer removeAllAnimates];

from http://blog.sina.com.cn/s/blog_9075354e0101t72s.html

你可能感兴趣的:(图片绕中心点旋转)