Swift 旋转动画 (设置的ImageView的旋转动画)

时间:2023-01-13 09:54:30

Swift 旋转动画

import UIKit

class VisitorView: UIView {
// MARK:- 提供快速通过xib创建的类方法
class func visitorView() -> VisitorView {
return NSBundle.mainBundle().loadNibNamed("VisitorView", owner: nil, options: nil).first as! VisitorView
}

// MARK:- 控件的属性 第一次设置的动画的 ImageView
@IBOutlet weak var rotationView: UIImageView!
@IBOutlet weak var iconView: UIImageView!
@IBOutlet weak var tipLabel: UILabel!
@IBOutlet weak var registerBtn: UIButton!
@IBOutlet weak var loginBtn: UIButton!

// MARK:- 自定义函数
func setupVisitorViewInfo(iconName : String, title : String) {
iconView.image = UIImage(named: iconName)
tipLabel.text = title
rotationView.hidden = true
}

func addRotationAnim() {
// 1.创建动画
let rotationAnim = CABasicAnimation(keyPath: "transform.rotation.z")

// 2.设置动画的属性
rotationAnim.fromValue = 0
rotationAnim.toValue = M_PI * 2
rotationAnim.repeatCount = MAXFLOAT
rotationAnim.duration = 5
// 这个属性很重要 如果不设置当页面运行到后台再次进入该页面的时候 动画会停止
rotationAnim.removedOnCompletion = false

// 3.将动画添加到layer中
rotationView.layer.addAnimation(rotationAnim, forKey: nil)
}
}