Это немного запутанно & трудно найти в документации, потому что «класс размера» на самом деле не является «классом», как NSObject. Они действительно определены в перечислении/ЬурейеЕ называется: UIUserInterfaceSizeClass
Способ получения горизонтального & вертикального класса размера для взгляд с методами UITraitCollection
Класс/тип для UITraitCollection позволяют создать на основе на определенной шкале отображения (например, сетчатки или нет), из массива других коллекций признаков, с идиомой UI (iPad/iPhone) или конкретным горизонтальным & вертикальными вариантами (компактными, регулярными), но, честно говоря, я не конечно же, как вы бы это использовали ...
This question обсуждает ограничения обновления, когда traitColle ction changes, используя willTransitionToTraitCollection(newCollection: UITraitCollection!, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator!)
Вы правы, что UITraitCollection и его свойства читаются только, но, очевидно, вы можете создать новую коллекцию по какой-либо причине и обрабатывать изменения макета при изменении набора traitCollection.
This previous question очень похож & ссылки на статью Apple об использовании адаптивной компоновки. Также проверьте видео WWDC «Создание адаптивных приложений с помощью UIKit».
Их называют классом размера. – rckoenes
Спасибо, не знаю, как я это пропустил! Теперь, если бы был только способ программирования классов размера с помощью 'NSLayoutConstraint' или аналогичного. –