Описание тега adaptive-layout
Технический обзор
Адаптивная компоновка доступна с 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) и класс размера.
В случае каких-либо изменений в макете (например, ротации) разработчики могут изучить новые характеристики и действовать соответствующим образом. Для поддержки этого нового подхода предыдущие методы, ориентированные на ротацию, устарели в пользу обработки переходов между разными коллекциями признаков.