Как я могу запустить свое приложение в альбомной ориентации? - PullRequest
0 голосов
/ 22 декабря 2011

Я хочу запустить свое приложение в альбомной ориентации, после запуска приложения я хочу предоставить поддержку для всей ориентации.Я установил «Свойство начальной ориентации интерфейса» на «Пейзаж (левая кнопка домой)» в info.plist.

Даже если я перевожу iPad в альбомную ориентацию, мое приложение запускается в портретном режиме.Как я могу решить эту проблему?

Спасибо,

Акшай

Ответы [ 4 ]

1 голос
/ 22 декабря 2011

По умолчанию настройка ориентации в plist будет выглядеть так в Xcode 4.x enter image description here

Измените порядок, как показано ниже (или в соответствии с вашими потребностями элемент 0 будет соответствовать ориентации, в которой приложение запускается по умолчанию)

enter image description here

0 голосов
/ 30 октября 2013

Если вы всегда хотите, чтобы ваше приложение запускалось в альбомной ориентации, вы должны удалить любые книжные ориентации из «Поддерживаемых ориентаций интерфейса» (в plist или в настройках проекта> Сводка (в Xcode 4) или в настройках проекта> Общие (в Xcode 5).

Если вы хотите, чтобы Portrait был доступен позже (после запуска):

В iOS 5 (и ниже): внедрите - (BOOL)shouldAutorotateToInterfaceOrientation: в вашем контроллере корневого представления для возврата YES для любой ориентации, которую вы хотите разрешить (в данном случае UIInterfaceOrientationPortrait, UIInterfaceOrientationLandscapeLeft и UIInterfaceOrientationLandscapeRight. Это заменит любые ориентации интерфейса, которые вы запретили в «Поддерживаемых ориентациях интерфейса»

В iOS 6 (и более поздних версиях): В делегате приложения внедрите - (NSUInteger)application:supportedInterfaceOrientationsForWindow: и верните UIInterfaceOrientationMask для ориентаций, которые мы хотим разрешить после запуска (в данном случае UIInterfaceOrientationMaskAllButUpsideDown). Затем в контроллере корневого представления, внедрите - (NSUInteger)supportedInterfaceOrientations, возвращая все ориентации, которые должны быть доступны в текущем состоянии приложения.

Если вам нужен пример кода или более подробная информация, вы можете проверить мой пост на эту тему.

0 голосов
/ 22 декабря 2011

Вы можете установить UIInterfaceOrientation в файле Info.plist вашего приложения, чтобы установить «Начальную ориентацию интерфейса» (ключ, отображаемый при редактировании списка без отображения необработанных значений / ключей.

Просмотр: http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

, который указывает: UIInterfaceOrientation | «Начальная ориентация интерфейса» | Определяет начальную ориентацию пользовательского интерфейса приложения. Подробнее см. «UIInterfaceOrientation».

Тогда, если вы не установили свойство UILaunchImageFile, он отобразит начальное изображение по умолчанию: «Вы бы включили ключ UILaunchImageFile ~ ipad в файл Info.plist и установите его значение равным MyiPadImage.png. Затем вы должны включить файл MyiPadImage-Portrait.png и MyiPadImage-Landscape.png файл в вашем комплекте, чтобы указать соответствующие образы запуска. "

0 голосов
/ 22 декабря 2011

Вы можете реализовать - (BOOL) shouldAutorotateToInterfaceOrientation: на вашем UIViewController и вернуть true, когда устройство находится в горизонтальном положении.

Затем, как только вы захотите поддерживать все ориентации, пусть: - (BOOL) shouldAutorotateToInterfaceOrientation: ответит соответствующим образом, установив логический флаг после - (void) viewDidAppear: в вашем UIViewController .

Для получения дополнительной информации о том, как реализовать следует Авто, см. мой ответ на аналогичный вопрос.

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