Лише історична відповідь. Виразно застаріла.
Зауважте, що ця відповідь зараз сильно застаріла /
Ця відповідь є лише історичною цікавістю .
Захоплюючі новини! Як виявив Ендрю нижче, ця проблема була усунена Apple у версії 4.0+.
Здавалося б, НІКОЛИ більше не потрібно форсувати розмір погляду на кожному огляді, і конкретна серйозна проблема ландшафту, "що працює тільки в перший раз", була вирішена.
Станом на квітень 2011 року неможливо протестувати або навіть побудувати що-небудь нижче 4,0, тому питання суто історичне цікавість. Неймовірно, скільки неприємностей це стільки часу завдало розробникам!
Ось оригінальна дискусія та рішення. Зараз це абсолютно не має значення, оскільки ці системи навіть не функціонують.
Надзвичайно важко зробити цю роботу повною мірою - у грі є як мінімум три проблеми / помилки.
спробуйте це .. ландшафтний дизайн будівельника інтерфейсу
Зокрема, зауважте, що там, де написано "і вам потрібно правильно використовувати скрізь скрізь" AutoAutorotateToInterfaceOrientation ", це означає всюди, усі ваші перегляди на повноекранному екрані.
Сподіваюся, це допомагає в цьому кошмарі!
Важливе нагадування про ДОБАВЛЕННУ добре відому проблему тут: якщо ви намагаєтесь обмінятись на БІЛЬШИЙ ОДИН Огляд (весь пейзаж), ПРОСТО НЕ ПРАЦЮЄ . Важливо пам’ятати про це, або ви витратите дні на проблему. Це буквально НЕ МОЖЛИВО. Це найбільша відкрита, відома помилка на платформі iOS. Буквально немає способу змусити обладнання зробити другий вигляд, який ви завантажуєте, бути пейзажним. Набридлий, але простий спосіб вирішення, і що ви повинні зробити, - це тривіальний майстер UIViewController, який нічого не робить, крім того, щоб сидіти там і дозволяти вам обмінятися думками.
Іншими словами, в iOS через основну помилку знань:
[window addSubview:happyThing.view];
[window makeKeyAndVisible];
Це можна зробити лише один раз . Пізніше, якщо ви спробуєте видалити happyThing.view, і замість цього помістити туди newThing.view, він НЕ ПРАЦЮЄ - А ТО ЩЕ. Машина ніколи не повертатиме погляд на пейзаж. Немає жодної витівки, навіть Apple не може змусити її працювати. Ви повинні вирішити проблему створення загального UIViewController, який просто сидить там і просто містить різні погляди (happyThing, newThing тощо). Сподіваюся, це допомагає!