Search code examples
ioscocoa-touch

iphone sdk CGAffineTransform getting the angle of rotation of an object


how do i calculate the angle of rotation for any given object (ie a uiimageview)?


Solution

  • Technically you can't, because the transform can include a skew operation which turns the image into a parallelogram and the rotation angle isn't defined anymore.

    Anyway, since the rotation matrix generates

     cos(x)  sin(x)   0
    -sin(x)  cos(x)   0
       0        0     1
    

    You can recover the angle with

    return atan2(transform.b, transform.a);