【问题标题】:iOS Swift Detecting Image RotationiOS Swift 检测图像旋转
【发布时间】:2017-02-10 17:56:45
【问题描述】:

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

【问题讨论】:

    标签: ios swift uiimageview


    【解决方案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,因此您可以根据此测试任何角度。


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

    【讨论】:

    • 太完美了!我确实需要学习一些高等数学。
    猜你喜欢
    • 2014-10-02
    • 2018-01-01
    • 1970-01-01
    • 2020-05-08
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 2019-02-04
    相关资源
    最近更新 更多