Может быть представление верхнего уровня, которое вы можете визуализировать, кроме фактического окна, которое уже повернуто. Если вы показываете строку состояния, попробуйте получить представление об этом. Иначе что-то вроде этого может сработать:
CGRect frame = screenWindow.frame;
if ( isLandscape ) {
CGFloat t = frame.size.width;
frame.size.width = frame.size.height;
frame.size.height = t;
}
UIGraphicsBeginImageContext(frame.size);
if ( isLandscape ) {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextRotateCTM( context , M_PI_2 );
CGContextTranslateCTM( context , ( frame.size.width - frame.size.height ) * 0.5 ,
( frame.size.height - frame.size.width ) * 0.5 );
}
...
Возможно, вам придется возиться с CGContextTranslateCTM
, но это должно быть близко к этому.