特质收藏

在 iOS 应用程序中,你的用户界面可以采用几种不同的常规形状和大小中的一种。这些是使用大小类定义的,这些大小类可通过视图或视图控制器的特征集合获得

Apple 定义了两个大小类: 常规紧凑。这些尺寸等级中的每一个都可在设备的两个轴上使用( 水平垂直 )。你的应用可能在其整个生命周期中存在于任何这四种状态。作为简写,开发人员通常通过说或写两个大小类来描述大小类组合,水平轴首先:“Compact / Regular”描述一个水平紧凑但垂直规则的接口。

在你的应用程序中,使用 UITraitEnvironment 协议上的方法检查当前的大小类并响应更改:

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 和 UIViewController 都符合 UITraitEnvironment,因此你可以查看当前的特征集合并处理其子类中的更改。