A trait consists of a set of properties that determines how the user interface or a portion of it should change as its environment or, more broadly, the available space for its contents and changes.
These properties include size classes for both horizontal and vertical dimensions as well as display scale, user interface idiom, and
forceTouchCapability, and they define a trait collection.
Designing adaptive user interfaces essentially means writing layouts that adapt according to changes in trait collections.
UITraitCollection class is the data type that defines a trait collection and it is the entry point for the traits we described earlier. The following table illustrates the properties ...