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軸作週期旋轉。swift
直接把上述代碼加到UIImageView擴展中,並設定旋轉週期和旋轉次數(可設定repeatCount
爲最大值使其一直旋轉),而後調用便可。動畫