IOS 圖片自動旋轉
阿新 • • 發佈:2019-01-02
+ (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;
這個你要想一直旋轉,設定一個無窮大就得了
停止的話直接這樣就停止了
[imageView.layer removeAllAnimates];