iOS快速检测图像旋转
我有一个应用程序,只要用户按下屏幕上的按钮,它就可以在一米上为一根针设置动画。当手指抬起时,我需要知道针的旋转角度。我会在抬起手指后立即删除所有动画,但我不知道如何获取针的当前旋转角度。这非常简单,这是完整的解决方案: 示例设置:iOS快速检测图像旋转,ios,swift,uiimageview,Ios,Swift,Uiimageview,我有一个应用程序,只要用户按下屏幕上的按钮,它就可以在一米上为一根针设置动画。当手指抬起时,我需要知道针的旋转角度。我会在抬起手指后立即删除所有动画,但我不知道如何获取针的当前旋转角度。这非常简单,这是完整的解决方案: 示例设置: imageView.transform = CGAffineTransform(rotationAngle: CGFloat.pi / 6) // just to test (it is 30 in degrees and 0.523598775598299 in r
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
代码:
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=度
和rad=弧度
说明:
第一条线得到弧度,第二条线将弧度乘以弧度的当量,得到度
注意事项:
someValue
实际上是角度的弧度,它不是以度为单位测量的。更多关于:
CGFloat.pi
的值(以度为单位)为180,因此您可以根据该值对其进行任何角度的测试让我知道这是否有帮助 太完美了!我真的需要学习高等数学。