ios cocoa-touch uiview rotation

ios - Obtenga el ángulo/rotación/radiador actual para una UIView?



scale uiview swift (6)

¿Cómo se obtiene el ángulo / rotación / radiador actual que tiene UIView?


// Para Swift 3: M_PI se deprecia ahora Use Double.pi

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

// Para Swift 4:

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


En swift 2 y Xcode 7:

let RdnVal = CGFloat(atan2f(Float(NamVyu.transform.b), Float(NamVyu.transform.a))) let DgrVal = RdnVal * CGFloat(180 / M_PI)


Muchas de las otras respuestas hacen referencia a atan2f , pero dado que estamos operando en CGFloat s, podemos simplemente usar atan2 y omitir el molde intermedio innecesario:

Swift 4:

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


Para Swift 3, puede usar el siguiente código:

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


Puedes hacerlo de esta manera ...

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


Rápido:

// 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) )