Пейзажный режим ТОЛЬКО для iPhone или iPad

Я хочу создать приложение, которое не использует портретный режим.

Я не уверен, нужно ли мне редактировать plist или иметь код в дополнение к plist

Код найден здесь

Запуск в ландшафтном режиме

Приложения в iPhone OS обычно запускаются в портретном режиме, чтобы соответствовать ориентации Начального экрана. Если у вас есть приложение, работающее как в портретном, так и в ландшафтном режимах, ваше приложение всегда должно запускаться в портретном режиме, а затем пусть его controllerы представят rotation интерфейса по мере необходимости на основе ориентации устройства. Однако, если ваше приложение работает только в ландшафтном режиме, вы должны выполнить следующие шаги, чтобы начать его с начальной ориентации.

  • В файле Info.plist вашего приложения добавьте UIInterfaceOrientation
    и установите его значение для
    ландшафтный режим. Для пейзажа
    ориентации, вы можете установить значение
    этого ключа
    UIInterfaceOrientationLandscapeLeft
    или
    UIInterfaceOrientationLandscapeRight.

  • Разместите свои представления в ландшафтном режиме и убедитесь, что их параметры автоматической настройки установлены правильно.

  • Переопределите метод управления должен быть shouldAutorotateToInterfaceOrientation: метод и возврат ДА только для
    желаемая ориентация ландшафта и NO
    для портретных ориентаций.

Чтобы сделать свой ландшафтный режим приложения, вы должны использовать «Поддерживаемые интерфейсные ориентации». ( Targets -> YourApp -> Supported Interface Orientations -> Landscape Left & Right )

Поддерживаемые интерфейсные ориентации

Вы также должны установить ориентацию приложения в файле Info.plist вашего приложения ( Файл Info.plist ), добавив ключ Supported interface orientations со значениями Landscape (left home button) и Landscape (right home button) . Роу

Вы можете использовать willRotateToInterfaceOrientation и / или didRotateFromInterfaceOrientation для обработки изменений ориентации.


shouldAutorotateToInterfaceOrientation устарела от iOS 6 и выходит.

Возrotation UIDeviceOrientationLandscapeLeft/Right для shouldAutorotateToInterfaceOrientation должно сделать ваше приложение «ландшафтом»:

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight); } 

Также можно изменить настройки Info.plist и View Orientation вашего приложения (как описано выше).


Кроме того, я рекомендую изменить ориентацию вашего представления на Landscape в Инспекторе атрибутов . пейзаж

Вы также можете просто сократить все это до

 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return UIInterfaceOrientationIsLandscape(interfaceOrientation); } 

отредактируйте plist, чтобы поддерживать только ландшафт, а затем убедитесь, что в каждом uiviewcontroller / uitabbar и т. д. в shouldAutoRotateToInterfaceOrientation return return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)); ,

  • Сортировка NSArray пользовательских объектов по их свойствам NSDate
  • Точка с запятой после имени метода в файле реализации Objective-C
  • Комплект iPhone Store «Не удается подключиться к iTunes Store»
  • Запустите NSRunLoop в командной строке программы Cocoa
  • Почему UINavigationBar крадет события касания?
  • Как resize UIModalPresentationFormSheet?
  • Создайте эскиз или изображение AVPlayer в текущее время
  • Использование Objective C / Cocoa для unescape символов Unicode, то есть \ u1234
  • Преобразование миллисекунд в NSDate
  • Можно ли перепроектировать мое приложение iPhone?
  • Добавление изображений в UITextView
  • Давайте будем гением компьютера.