iOS Swift检测图像旋转

时间:2017-02-10 17:56:45

标签: ios swift uiimageview

我有一个应用程序,只要用户按下屏幕,它就会在仪表上激活针。当手指抬起时,我需要知道针的旋转角度。手指抬起后我立即删除所有动画,但我无法确定如何获得针的当前旋转角度。

1 个答案:

答案 0 :(得分:1)

这很简单,这是完整的解决方案:

示例设置:

imageView.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 6) // just to test (it is 30 in degrees and 0.523598775598299 in radians)

<强>代码:

let rad: Double = atan2( Double(imageView.transform.b), Double(imageView.transform.a))
let deg: CGFloat = CGFloat(rad) * (CGFloat(180) / CGFloat.pi )
print(deg) // works, printing 30

其中deg = degreesrad = radians

<强>说明: 第一行是获得弧度,第二行是将弧度乘以相当于弧度的弧度,以获得度数。

注意:

  1. CGAffineTransform(rotationAngle: someValue)中,someValue实际上是角度的弧度,不是以度为单位来衡量的。有关的更多信息:

  2. 弧度CGFloat.pi的度数值为180,因此您可以根据此值对任意角度进行测试。

  3. 请告诉我这是否有帮助!