iOS Swift检测图像旋转

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

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

样本设置:

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实际上是角度的弧度,它不是以度为单位测量的。 更多信息:

    • 弧度

    • PI

  2. 弧度CGFloat.pi值为180,因此您可以根据此值测试任何角度。


如果这有帮助,请告诉我!