Contents

init(traitsFrom:)

Creates a trait collection that consists of traits merged from a specified array of trait collections.

Declaration

init(traitsFrom traitCollections: [UITraitCollection])

Parameters

Return Value

A new trait collection consisting of traits merged from a specified traitCollections array.

Discussion

This method takes an array of one or more trait collections and merges them to create a new trait collection. If the array contains more than one element, the highest-indexed element that contains a given trait is used for that trait. For example, the following code snippet creates a trait collection with a compact horizontal size class, because the second element in the array overrides the first for that trait:

UITraitCollection *newHorizontalSizeClass1 = [UITraitCollection traitCollectionWithHorizontalSizeClass: UIUserInterfaceSizeClassRegular];
UITraitCollection *newHorizontalSizeClass2 = [UITraitCollection traitCollectionWithHorizontalSizeClass: UIUserInterfaceSizeClassCompact];
NSArray *traitArray = [NSArray arrayWithObjects: newHorizontalSizeClass1, newHorizontalSizeClass2, nil];
UITraitCollection *combinedTraits = [UITraitCollection traitCollectionWithTraitsFromCollections: traitArray];

See Also

Creating a trait collection