[英]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 = degrees
和rad = radians
解釋:第一行是得到弧度,第二行是將弧度乘以弧度的等價物,得到度數。
筆記:
在CGAffineTransform(rotationAngle: someValue)
, someValue
實際上是角度的弧度,它不是以度數來衡量的。 有關的更多信息:
CGFloat.pi
弧度的CGFloat.pi
值為 180,因此您可以根據此測試任何角度。
讓我知道這是否有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.