Универсальное приложение с ориентацией на портфолио для iPhone и ландшафтной ориентацией для iPad
Я создаю универсальное приложение с помощью Swift. Я использовал Storyboard и Auto-Layouts. Требование состоит в создании универсального приложения, которое будет поддерживать портретную ориентацию только для iPhone и ландшафтной ориентации только для iPad.
У меня разработан интерфейс для iPhone, и теперь я буду запускать интерфейс для iPad.
Также пользовательский интерфейс, созданный для iPhone, не такой же, как пользовательский интерфейс, созданный для iPad, оба пользовательских интерфейса сильно отличаются.
Я собираюсь создать отдельные раскадровки для iPhone и iPad. Есть ли правильный способ достичь этого?
Ответы
Ответ 1
Перейдите в файл info.plist и добавьте массив с ключом "Поддерживаемые ориентации интерфейса (iPhone)" и добавьте в него следующие значения:
- Портрет (нижняя кнопка дома)
Аналогичным образом добавьте еще один массив "Поддерживаемые интерфейсные ориентации (iPad)" и добавьте следующее:
- Портрет (нижняя кнопка дома)
- Пейзаж (кнопка останова дома)
- Пейзаж (правая кнопка дома)
См. ниже:
![enter image description here]()
Ответ 2
Если вы развертываете свое приложение только для iOS 8, я бы использовал один раскадровки. Проще использовать один экран. Вот ссылка на отличный учебник. http://www.raywenderlich.com/83276/beginning-adaptive-layout-tutorial
Если вы похожи на меня и хотите нацелиться на iOS 6, я бы использовал отдельные раскадровки. Определенно придерживайтесь Auto Layout для того, что вы решите использовать.
Не забывайте, что мы должны начать поддерживать 64-разрядную версию.
Удачи!
Ответ 3
Если вы хотите установить это для определенного ViewController (разрешить все на iPad, но только портрет на iPhone), поместите это в свой класс ViewController (Swift 4):
override var supportedInterfaceOrientations:UIInterfaceOrientationMask {
return UIDevice.current.userInterfaceIdiom == .pad ? UIInterfaceOrientationMask.all : UIInterfaceOrientationMask.portrait
}