Только исторический ответ. Эффектно устарел.
Обратите внимание, что этот ответ сейчас сильно устарел /
Этот ответ - лишь историческое любопытство .
Волнующие новости! Как обнаружил Эндрю ниже, эта проблема была исправлена Apple в версии 4.0+.
Похоже, больше нет необходимости увеличивать размер представления для каждого вида, и конкретная серьезная проблема ландшафта, «работающего только в первый раз», была решена.
По состоянию на апрель 2011 года невозможно протестировать или даже построить что-либо ниже 4.0, поэтому вопрос является чисто историческим курьезом. Невероятно, сколько хлопот это доставляло разработчикам так долго!
Вот исходное обсуждение и решение. Сейчас это совершенно неактуально, поскольку эти системы даже не работают.
ЧРЕЗВЫЧАЙНО СЛОЖНО заставить эту работу работать полностью - есть как минимум три проблемы / ошибки.
попробуйте это .. конструктор интерфейсов ландшафтный дизайн
В частности, обратите внимание, что там, где говорится «и вам нужно правильно использовать shouldAutorotateToInterfaceOrientation везде», это означает везде, во всех ваших полноэкранных представлениях.
Надеюсь, это поможет в этом кошмаре!
Важное напоминание о ДОПОЛНИТЕЛЬНОЙ хорошо известной проблеме: если вы пытаетесь переключиться между БОЛЕЕ ОДНИМ видом (все альбомные), ЭТО ПРОСТО НЕ РАБОТАЕТ . Об этом важно помнить, иначе вы потратите дни на решение проблемы. Это буквально НЕ ВОЗМОЖНО. Это самая большая открытая и известная ошибка на платформе iOS. Буквально невозможно заставить аппаратное обеспечение делать второй вид, который вы загружаете, альбомным. Раздражающий, но простой обходной путь, и то, что вы должны сделать, - это иметь тривиальный главный UIViewController, который ничего не делает, кроме как сидит и позволяет вам переключаться между вашими представлениями.
Другими словами, в iOS из-за серьезной ошибки знания:
[window addSubview:happyThing.view];
[window makeKeyAndVisible];
Вы можете сделать это только один раз . Позже, если вы попытаетесь удалить happyThing.view и вместо этого вставить newThing.view, ЭТО НЕ РАБОТАЕТ - И ЭТО ТАКОЕ. Аппарат никогда не повернет вид на альбомный. Здесь нет никаких уловок, даже Apple не может заставить это работать. Обходной путь, который вы должны принять, - это иметь общий UIViewController, который просто сидит там и просто хранит ваши различные представления (happyThing, newThing и т. Д.). Надеюсь, поможет!