I have a root UIViewController (VC1), inside a UINavigationController, which handles rotation by adjusting its views/subviews frames manually in the willRotateToInterfaceOri
The way I resolve this is to check on viewWillAppear:
to see if the orientation is now different to when viewDidDisappear
was called. If so I call the code to layout the view.
To adopt this approach first factor the code responsible for laying out the view into something like _layoutViews
, can simply call it as required in viewWillAppear
as well as in willRotateToInterfaceOrientation:
.