Я создал пользовательский UIViewController, который имитирует UISplitViewController. Он управляет двумя дочерними контроллерами представления, которые отображаются в левой и правой частях тела в горизонтальной плоскости, и скрывает левую часть для отображения в всплывающем окне в портретной ориентации. Он работает нормально, используя didRotateFromInterfaceOrientation: и willRotateToInterfaceOrientation: сообщения для сброса расположения и размеров дочерних представлений. Все представления и дочерние контроллеры загружаются из пера. Этот пользовательский контроллер представления отображается внутри UINavigationController.
Проблема возникает после того, как один из дочерних контроллеров представления использует presentModalViewController. Если устройство было повернуто после того, как виды были инициализированы (но до того, как модальный контроллер показан), после того, как модальное диалоговое окно закрыто, левый и / или основной вид будут перерисованы в другом вращении, чем они были до модального диалогового окна был изменен.
Мне интересно, если у людей была подобная проблема, и каково решение. Я уверен, что пример кода будет полезен, но потребуется много усилий, чтобы перевести его в работающий образец.