По большей части я хорошо разобрался. Никак не могу уложить в голове одну маленькую проблему. Я опишу эту проблему как можно лучше, я не думаю, что в настоящее время для постановки моего вопроса от меня требуется публиковать какой-либо код, но не стесняйтесь спрашивать.
Мое приложение по умолчанию работает в портретном режиме, как и большинство. В основной области взаимодействия, когда пользователь поворачивает устройство, мне не нужно предоставлять код, который изменяет что-либо существенное, потому что вместо этого я помещаю новое представление поверх стека представлений. Это прекрасно работает и является одним из двух способов взаимодействия пользователя с устройством в ландшафтном режиме.
Второй — с модально представленным экраном (из этой основной области взаимодействия), который воспроизводит видео YouTube из приложения с помощью UIWebView, опять же, это работает хорошо.
Проблема возникает, когда пользователь закрывает модальный контроллер представления в ландшафтном режиме. Что происходит, так это то, что пользователь возвращается в основную область взаимодействия с содержимым, настроенным для ландшафтного режима, и метод делегата, обычно вызываемый из контроллера представления для этой основной области взаимодействия, не вызывается, я использую этот метод делегата, чтобы нормально изменить ландшафт :
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { }
Я приложу скриншоты того, что именно происходит.
Скриншот основной области взаимодействия в портретном режиме.
Скриншот основной области взаимодействия в ландшафтном режиме.
Скриншот основной области взаимодействия после закрытия контроллера модального представления в ландшафтном режиме и возврата к основной области взаимодействия (обратите внимание, что содержимое центрировано, верхняя часть обрезана и не растягивается (не то, чтобы я попросить его сделать это)
В идеале в этой ситуации я хотел бы вернуться на главный экран из ландшафтного режима и сделать скриншот 2 тем, что видит пользователь, а не скриншотом 3.
Какие-либо предложения? Опять же, я рад опубликовать код. Заранее спасибо.
изменить
ОТВЕЧАТЬ:
Так просто, я взял код, который помещает альбомное представление поверх стека представлений при включении в его собственном методе. Затем я вызываю этот метод как в методе делегата, в котором он ранее находился, так и в ViewWillAppear.