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 = degrees
和rad = radians
说明:第一行是获得弧度,第二行是将弧度乘以等于弧度的弧度,以获得度数。
笔记:
-
在
CGAffineTransform(rotationAngle: someValue)
,someValue
实际上是角度的弧度,它不是以度为单位测量的。 更多信息:-
弧度
-
度
-
PI
-
-
弧度
CGFloat.pi
值为180,因此您可以根据此值测试任何角度。
如果这有帮助,请告诉我!