Swift 4 - CGAffineTransform顺时针方向旋转

时间:2018-05-13 19:51:58

标签: swift4 cgaffinetransform image-rotation

我需要时钟指针从顺时针方向旋转-180到180,但似乎CGAffineTransform功能在另一个方向上做最短路径。我尝试了不同的方法,但我找不到解决方案:

img_clock.transform = CGAffineTransform(rotationAngle: CGFloat(-118 * Float.pi / 180))

UIView.animate(withDuration: 15.0, delay : 0, options: .curveLinear , animations: {
        self.img_clock.transform = CGAffineTransform(rotationAngle: CGFloat(118 * Float.pi / 180))
}, completion : nil)

1 个答案:

答案 0 :(得分:2)

在iOS中,正值指定逆时针旋转,负值指定顺时针旋转。

这是真的,它将在最短的方向旋转。你需要超过360度的旋转。在这种情况下,您需要将PI与3相乘。

检查以下代码:

img_clock.transform = CGAffineTransform(rotationAngle: CGFloat(-118 * Float.pi / 180))

    UIView.animate(withDuration: 15.0, delay : 0, options: .curveLinear , animations: {
            self.img_clock.transform = CGAffineTransform(rotationAngle: CGFloat(118 * Float.pi * 3 / 180))
    }, completion : nil)