顺时针图像旋转动画

Bol*_*ion 2 cgaffinetransform uiviewanimation ios swift

我有一个动画,它应该不断旋转图像。但是它有几个问题。速度很奇怪,尽管我将它设置为不断重复,但您可以看到它是如何开始、停止然后重复的。这不应该发生。它应该是不间断的旋转。此外,另一个问题是当动画停止时,图像由于某种原因向左移动。

这是我的代码:

func animateLogo()
{
    UIView.animate(withDuration: 6.0, delay: 0.0, options: .repeat, animations: {
        self.logo.transform = CGAffineTransform(rotationAngle: ((180.0 * CGFloat(Double.pi)) / 180.0))
    }, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

Kam*_*iya 7

尝试这个

func rotateView(targetView: UIView, duration: Double = 1.0) {
    UIView.animate(withDuration: duration, delay: 0.0, options: .curveLinear, animations: {
        targetView.transform = targetView.transform.rotated(by: CGFloat(M_PI))
    }) { finished in
        self.rotateView(targetView: YOUR_LOGO, duration: duration)
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使用

self.rotateView(targetView: YOUR_LOGO, duration: duration)
Run Code Online (Sandbox Code Playgroud)

  • 完美的!这就是我想要的! (2认同)