iOS Collections de traits


Exemple

Dans une application iOS, votre interface utilisateur peut prendre différentes formes et tailles. Celles-ci sont définies à l'aide de classes de taille disponibles dans une vue ou dans la collection de traits du contrôleur.

Apple définit deux classes de taille: régulière et compacte . Chacune de ces classes de taille est disponible sur les deux axes de l'appareil ( horizontal et vertical ). Votre application peut exister dans ces quatre états tout au long de sa vie. En résumé, les développeurs décrivent souvent une combinaison de classes de taille en disant ou en écrivant les deux classes de taille, l'axe horizontal en premier: "Compact / Regular" décrit une interface horizontalement compacte mais verticale.

Dans votre application, utilisez les méthodes du protocole UITraitEnvironment pour vérifier votre classe de taille actuelle et répondre aux modifications:

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.")
    }
}

UIView et UIViewController sont tous deux conformes à UITraitEnvironment. Vous pouvez donc examiner votre collection de traits en cours et gérer les modifications des sous-classes.