Описание тега adaptive-layout

Адаптивный макет - это метод поддержки нескольких размеров и ориентации дисплея в приложениях iOS.

Технический обзор

Адаптивная компоновка доступна с iOS 8. Вместо определенных типов устройств или ориентации в ней вводится концепция классов размеров. Класс размера может быть либоCompact или Regularв горизонтальном или вертикальном направлениях. Дополнительно естьAny класс размера, который служит для общих ограничений макета.

Некоторые примеры:

  • Compact Width + Regular Height представляет iPhone в портретной ориентации.
  • Any Width + Compact Height будет применяться к iPhone в альбомной ориентации.

Каждый размерный класс может иметь свой собственный макет со своим набором ограничений. Adaptive Layout использует иерархический подход для определения того, какие правила использовать:

  • Anyправила используются для общего использования: если нет конкретных правил в горизонтальной или вертикальной компоновке, экран будет отображаться в соответствии с этими ограничениями. Это идеальное место для определения общих правил макета
  • Использовать Regular или Compactдля достижения пользовательских правил макета для определенного подмножества классов размера. Например, чтобы добиться особого макета для iPhone в режиме наземного масштаба, необходимо установить соответствующие ограничения вAny Width + Compact Height размерный класс.

Чтобы поддержать этот новый подход, UIKit также был расширен коллекциями признаков. АUITraitCollectionОбъект описывает свойства элемента пользовательского интерфейса, такие как масштаб его отображения (разрешения Retina или Non-Retina), идиома устройства (iPhone или iPad) и класс размера.

В случае каких-либо изменений в макете (например, ротации) разработчики могут изучить новые характеристики и действовать соответствующим образом. Для поддержки этого нового подхода предыдущие методы, ориентированные на ротацию, устарели в пользу обработки переходов между разными коллекциями признаков.

Когда начать?