繁体   English   中英

iOS Swift 检测图像旋转

[英]iOS Swift Detecting Image Rotation

我有一个应用程序,只要用户按下屏幕,它就会为仪表上的针设置动画。 当手指抬起时,我需要知道针的旋转角度。 手指一抬起,我就删除了所有动画,但我不知道如何获得针的当前旋转角度。

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

示例设置:

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弧度的CGFloat.pi值为 180,因此您可以根据此测试任何角度。


让我知道这是否有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM