UIImageView+Extension.swift
import UIKit
extension UIImageView {
// 360度旋转图片
func rotate360Degree() {
let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z") // 让其在z轴旋转
rotationAnimation.toValue = NSNumber(double: M_PI * 2.0) // 旋转角度
rotationAnimation.duration = 0.6 // 旋转周期
rotationAnimation.cumulative = true // 旋转累加角度
rotationAnimation.repeatCount = 100000 // 旋转次数
layer.addAnimation(rotationAnimation, forKey: "rotationAnimation")
}
// 停止旋转
func stopRotate() {
layer.removeAllAnimations()
}
}
上面的代码使用了CABasicAnimation
做动画,组合了UIImageView扩展,使UIImageView中的单幅图片围绕Z轴做周期旋转。
直接把上述代码加到UIImageView扩展中,并设定旋转周期和旋转次数(可设定repeatCount
为最大值使其一直旋转),然后调用即可。