Как отключить ландшафтную ориентацию в приложении iPad?

Я создал совершенно новое однопользовательское приложение iOS Universal Swift. Затем я отключил "Настройки ландшафта" и "Пейзаж справа" в настройках приложения. Я запустил его на своем iPhone и ура, он остается в портретном режиме, независимо от того, как я поворачиваю свой телефон. Затем я запустил его на своем iPad, и он вращается во что угодно. Даже перевернутый портретный режим, который не был включен в первую очередь? Я только испытываю это? Это происходит и в симуляторе iPad, когда я вращаюсь с помощью клавиши + клавиши со стрелкой.

Я также попытался добавить следующее в ViewController.swift и получил тот же результат.

override func shouldAutorotate() -> Bool {
    return false
}

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.Portrait
}

Нет ли способа отключить поворот от портрета на iPad?

Ответ 1

Его работа отлично. Не нужно писать код для него.

Сначала выберите проект, а затем перейдите на первую вкладку "Общие".

Теперь выберите опцию "Устройства" в разделе "Информация о развертывании" iPad, а в этом списке выберите "Ориентация устройства". В которой снимите флажок из списка "Влево", "Вправо"

После этого выберите его обратно как универсальное и настройте ориентацию устройства как портрет..мод и снимите галочку из ландшафтного режима.

Теперь запустите приложение в iPad и проверьте его. Я надеюсь, что это будет разрешено.

Ответ 2

В Info.plist есть отдельные записи для поддерживаемых ориентаций iPhone и iPad.

  • iPhone = UISupportedInterfaceOrientations
  • iPad = UISupportedInterfaceOrientations ~ ipad

Вам нужно изменить Info.plist и удалить записи ландшафта для ключа UISupportedInterfaceOrientations ~ ipad.

Ответ 3

Работает для меня!

Откройте info.plist качестве исходного кода, вы увидите эти свойства:

  • UISupportedInterfaceOrientations: для iPhone
  • UISupportedInterfaceOrientations~ipad: для iPad

Full Orientation Modes

Под UISupportedInterfaceOrientations~ipad удалите нежелательный режим ориентации. В моем случае мне нужен только портретный режим, поэтому я удалил остальные режимы, а затем сохранил его.

Portrait Mode Only

Готово! Удачи

Ответ 4

Это изображение достаточно, выберите только портрет.

установить портретный режим


для комментария Shyam

Xcode8.3.3 MacOS Sierra v10.12.5

введите описание изображения здесь

Ответ 5

В Xcode 10, по крайней мере, для универсального приложения эта функция не работает. Для универсального приложения, устанавливающего ограничение ориентации путем проверки того, что соответствующая ориентация работает только для iPhone, вам необходимо перейти к списку и удалить нежелательные ориентации в разделе "Поддерживаемые ориентации интерфейса (iPad)", где вы найдете все четыре ориентации, ожидающие вас. независимо от того, что вы проверили. Это просто ошибка в XCode, которая, очевидно, не имеет очень высокого приоритета, так как она существовала некоторое время.

Ответ 6

Затем откройте General в вашем проекте Targets,

Информация о развертывании → Устройство → Выберите iPAD → Снимите флажок " Пейзаж влево и вправо "

Это сработало для меня..