iOS Colecciones de rasgos

Ejemplo

En una aplicación iOS, su interfaz de usuario puede adoptar una de varias formas y tamaños generales diferentes. Estos se definen utilizando clases de tamaño , que están disponibles a través de una vista o colección de rasgos del controlador de vista.

Apple define dos clases de tamaño: regular y compacto . Cada una de estas clases de tamaño está disponible en ambos ejes del dispositivo ( horizontal y vertical ). Su aplicación puede existir en cualquiera de estos cuatro estados durante su vida útil. Como abreviatura, los desarrolladores a menudo describen una combinación de clase de tamaño diciendo o escribiendo las dos clases de tamaño, con el eje horizontal primero: "Compacto / Regular" describe una interfaz que es horizontalmente compacta pero verticalmente regular.

En su aplicación, use métodos en el protocolo de Entorno del Medio Ambiente para verificar su clase de tamaño actual y responder a los cambios:

class MyViewController: UIViewController {
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        print("Horizontal size class: \(traitCollection.horizontalSizeClass)")
        print("Vertical size class: \(traitCollection.verticalSizeClass)")
    }

    override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        print("Trait collection changed; size classes may be different.")
    }
}

Tanto UIView como UIViewController se ajustan a UITraitEnvironment, por lo que puede ver su colección actual de rasgos y manejar los cambios en las subclases de cualquiera de ellos.