вращающийся симулятор ipad - PullRequest
11 голосов
/ 05 мая 2010

Я тестирую приложение на iPad Simulator и мне нужно, чтобы оно запускалось в том положении, в котором находится симулятор, но каждый раз, когда я запускаю приложение, симулятор поворачивается в портретное положение.

Есть ли способ остановить это поведение?

спасибо.

= = = = *

редактирование в прошлый раз: теперь я обнаружил, что если я возвращаю NO в случае shouldAutorotateToInterfaceOrientation, проблема прекращается. Но это безумие, потому что shouldAutorotateToInterfaceOrientation должен повернуть интерфейс в соответствии с положением iPad, а не наоборот.

Ответы [ 6 ]

4 голосов
/ 28 сентября 2010

У меня была эта проблема при запуске тестового приложения GHUnit в симуляторе. Я исправил это, добавив это в info.plist файл:

<key>UISupportedInterfaceOrientations~ipad</key>
<array>
  <string>UIInterfaceOrientationPortrait</string>
  <string>UIInterfaceOrientationPortraitUpsideDown</string>
  <string>UIInterfaceOrientationLandscapeLeft</string>
  <string>UIInterfaceOrientationLandscapeRight</string>
</array>

Если вы редактируете это с помощью редактора списков Xcode, убедитесь, что у вас включена опция «Показать необработанные ключи / значения».

2 голосов
/ 05 мая 2010

iPad поддерживает несколько образов запуска (в отличие от единственного default.png для iPhone), так что приложение может быть запущено во всех поворотах. Подробности здесь

Я предполагаю, что вам не хватает новых (default-landscape.png и т. Д.), Поэтому при загрузке приложения оно может найти только экран загрузки портрета и, следовательно, вызывает вращение (и симулятор реагирует, поворачиваясь к портрету ). Когда у вас есть shouldAutorotateToInterfaceOrientation return NO, он все еще не может найти пейзажное изображение, но не позволяет вращению влиять?

1 голос
/ 02 сентября 2012

Мне кажется, я понял!

Если вы закроете симулятор (например, Cmd + Q ), то он всегда запускается в портретном режиме.

Но если вы закроете свое приложение нажатием кнопки home на симуляторе, то оно запомнит последнюю ориентацию при следующем запуске вашего приложения.

1 голос
/ 09 июля 2010

Просто, чтобы подтвердить, я согласен со всем, что вы говорите выше, Майк, но вы, кажется, возможно, подходите к этому с неправильного угла.

Одним из ключевых моментов iPad (по мнению Apple) является то, что приложения должны быть полностью функциональными в любой ориентации. Если вы прочитали о том, как извлечь максимум пользы из дополнительного интерфейса iPad для iPhone / iPod Touch, в нем будет много деталей.

Если вы используете «cmd» + стрелки влево / вправо, вы сможете ориентировать симулятор. Это позволит вам точно смоделировать то, что испытал бы пользователь, если бы он запустил ваше приложение в неправильной ориентации из того, что вы кодировали.

Я бы порекомендовал вам отменить внесенную вами поправку к коду (shouldAutorotateToInterfaceOrientation - NO) и кодировать свое приложение для отображения в любой ориентации. Если вам нужно написать только один код, я подозреваю, что пользователь будет вынужден повернуть устройство, чтобы устранить проблему.

Я знаю, что вы заинтересованы в тестировании своего ландшафтного приложения, но я не знаю, как можно заставить iPad Simulator запускаться в Landscape без вашей работы, о которой вы упомянули выше. Я подозреваю, что вы застряли со стрелками "cmd" + "left / right".

1 голос
/ 05 мая 2010

не пробовал раньше ... но возможно, если вы измените файл .plist, добавив

<key>UIInterfaceOrientation</key> <string>UIInterfaceOrientationPortrait</string>

Я знаю, что это работает на iphone.

1 голос
/ 05 мая 2010

После установки в Пейзаж сим остается в Пейзаже, пока вы не покинете симулятор. Вы можете перезапустить ваше приложение, и оно запустится в альбомной ориентации (ну, за исключением , внутренне оно изначально в портретном ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...