2017-02-10 77 views
1

我有一個應用程序,只要用戶在屏幕上按下,就可以在儀表上激活針。當手指擡起時,我需要知道針的旋轉角度。手指擡起後,我立即移除所有動畫,但我無法計算如何獲取針的當前旋轉角度。iOS Swift Detecting Image Rotation

回答

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

說明: 第一行是獲得弧度,第二行將弧度乘以相當於弧度的度數,以獲得度數。


NOTES:

  1. CGAffineTransform(rotationAngle: someValue)someValue,實際上,該角度的弧度,它不是以度爲單位。更多相關信息:

  2. 弧度CGFloat.pi的度數值爲180,因此您可以根據它測試任意角度。


讓我知道,如果這有助於!

+0

太完美了!我確實需要對高級數學進行一些研究。 –

+0

不客氣!歡迎任何進一步的問題 –