获取UIView的当前角度/旋转/弧度?

时间:2011-04-22 11:19:33

标签: ios cocoa-touch uiview rotation

如何获得UIView的当前角度/旋转/弧度?

6 个答案:

答案 0 :(得分:107)

你可以这样做......

CGFloat radians = atan2f(yourView.transform.b, yourView.transform.a); 
CGFloat degrees = radians * (180 / M_PI);

答案 1 :(得分:14)

夫特:

// Note the type reference as Swift is now string Strict

let radians:Double = atan2( Double(yourView.transform.b), Double(yourView.transform.a))
let degrees:CGFloat = radians * (CGFloat(180) / CGFloat(M_PI) )

答案 2 :(得分:6)

对于Swift 3,您可以使用以下代码:

let radians:Float = atan2f(Float(view.transform.b), Float(view.transform.a))
let degrees:Float = radians * Float(180 / M_PI)

答案 3 :(得分:4)

//对于Swift 3:M_PI现在已折旧使用Double.pi

let radians = atan2f(Float(yourView.transform.b), Float(yourView.transform.a));
let degrees = radians * Float(180 / Double.pi)

//对于Swift 4:

let radians = atan2(yourView.transform.b, yourView.transform.a)
let degrees = radians * 180 / .pi

答案 4 :(得分:4)

很多其他答案都会引用atan2f,但鉴于我们已在CGFloat上运行,我们可以使用atan2并跳过不必要的中间演员:< / p>

Swift 4:

let radians = atan2(yourView.transform.b, yourView.transform.a)
let degrees = radians * 180 / .pi

答案 5 :(得分:2)

在swift 2和Xcode 7中:

sbt clean clean-files