Swift Continuous Rotation Animation not so continuous

前端 未结 3 1894
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-02-04 18:59

Here is my code. Intent is to continuously rotate the UIImageView named swirls[l]. However, there is a small pause between every rotation start/end. I have gone through every si

3条回答
  •  抹茶落季
    2021-02-04 19:22

    Try below extension for swift 4.

    extension UIView {
        func rotate360Degrees(duration: CFTimeInterval = 3) {
            let rotateAnimation = CABasicAnimation(keyPath: "transform.rotation")
            rotateAnimation.fromValue = 0.0
            rotateAnimation.toValue = CGFloat(Double.pi * 2)
            rotateAnimation.isRemovedOnCompletion = false
            rotateAnimation.duration = duration
            rotateAnimation.repeatCount=Float.infinity
            self.layer.add(rotateAnimation, forKey: nil)
        }
    }
    

    For start rotation.

    MyView.rotate360Degrees()
    

    And for Stop.

    MyView.layer.removeAllAnimations()
    

    You can use UIButton, UILabel and many more.

提交回复
热议问题