Просто создайте UIViewController
со своим собственным UIView
, назначьте его как rootViewController
вашему окну и добавьте весь дальнейший пользовательский интерфейс в представление контроллера (не непосредственно в окно), и контроллер позаботится овсе повороты для вас:
UIApplication * app = [UIApplication sharedApplication];
UIWindow * appWindow = app.delegate.window;
UIWindow * newWindow = [[UIWindow alloc] initWithFrame:appWindow.frame];
UIView * newView = [[UIView alloc] initWithFrame:appWindow.frame];
UIViewController * viewctrl = [[UIViewController alloc] init];
viewctrl.view = newView;
newWindow.rootViewController = viewctrl;
// Now add all your UI elements to newView, not newWindow.
// viewctrl takes care of all device rotations for you.
[newWindow makeKeyAndVisible];
// Or just newWindow.hidden = NO if it shall not become key
Конечно, точно такие же настройки могут быть созданы в конструкторе интерфейсов без одной строки кода (за исключением настройки размеров кадра, чтобы заполнить весь экран перед отображением окна).