I would like to be able to inspect a UIView instance that may or may not have been rotated from its original orientation (by the user rotating the device for instance) and determine what the “true” width and height are. “true” here meaning, if a view on a portrait-oriented iPad was 768×1024 before rotation, after being turned sideways I would calculate that the new width was 1024 and the new height was 768.
It appears that if I apply the view’s transform to its frame property like this:
CGRect rotated = CGRectApplyAffineTransform([myview frame], [myview transform);
I get the desired result. Apple’s documentation however states that UIView::frame is undefined if the transform for the view is not the identity transform, so maybe it’s not a good idea to rely on this calculation?
view.boundswill return the rect you wantview.framewill return a rect with the transfrom applied to the bounds along with position.