特质收藏
在 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,因此你可以查看当前的特征集合并处理其子类中的更改。