2012-02-09 2 views
1

Мое приложение фиксируется в ландшафтном режиме, но при viewDidLoad() и даже viewWillAppear(), следующие размеры портрета еще вернуться:Как я могу запустить приложение для iPhone в ландшафтном режиме?

self.view.bounds.size.width = 320.00 
self.view.bounds.size.height = 480.00 

Это не не до viewDidAppear(), что фактические размеры ландшафтные результат.

self.view.bounds.size.width = 480.00 
self.view.bounds.size.height = 320.00 

Я нахожу это странным. Почему это происходит !? и как я могу это исправить?

+2

Вы возвращающегося YES в корневом каталоге UIViewController's - (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) toInterfaceOrientation метод? –

+0

Я использую: return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) ;. Каждая конфигурация, которую я мог найти, я установил ее в альбомную. И все равно никаких изменений. Я подозреваю, что это ошибка «функции» в iOS. –

+0

Я только что вернулся и прочитал документы Apple. viewWillAppear: называется «до того, как какие-либо анимации настроены для отображения представления». Поскольку вращение (может быть) анимировано, вероятно, вы видите невращающиеся размеры. Поэтому я подозреваю, что вы правы - это «функция» –

ответ

3

В info.plist файле вашего приложения, указать ключ:

UISupportedInterfaceOrientations 

со значениями для ландшафта влево и вправо:

enter image description here

EDIT:

Необработанные plist-код должен выглядеть так:

<key>UISupportedInterfaceOrientations</key> 
    <array> 
     <string>UIInterfaceOrientationLandscapeLeft</string> 
     <string>UIInterfaceOrientationLandscapeRight</string> 
    </array> 

Edit 2

Вы также нужен этот ключ, который определяет начальную ориентацию строки состояния:

<key>UIInterfaceOrientation</key> 
<string>UIInterfaceOrientationLandscapeRight</string> 

Кроме того, вы должны убедиться, что ВСЕ ваших контроллеров просмотреть (табло, навигатор, обычные контроллеры просмотра)

shouldAutorotateToInterfaceOrientation 

и вернуть значение Пейзаж (слева или справа).

Вот документы статья Apple, по теме:

Technical Note TN2244

И, наконец, вот некоторые другие SO сообщения на эту тему: post 1 и post 2.

+0

Уже есть этот набор. UIInterfaceOrientationLandscapeLeft

+0

@SebastianDwornik См. Редактирование. – Rayfleck

+0

Да, я понял. И я говорю, что это не имеет значения. Работает ли ваш код так, как он должен? –

Смежные вопросы