紧凑型和常规尺寸类之间的区别

Posted

技术标签:

【中文标题】紧凑型和常规尺寸类之间的区别【英文标题】:Difference between Compact and Regular size class 【发布时间】:2014-10-30 20:18:50 【问题描述】:

我正在观看 WWDC 2014 411_Whats_new_in_interface_builder 会议视频。在该视频中,演讲者 Kevin Cathe 他们讲述了尺寸等级。他告诉我们有 2 个尺寸等级有 2 个值 Compact 和 Regular。他告诉要从数量级来考虑尺寸等级ViewController 的。他展示了一个关于根据四种可能的尺寸类组合调整条形高度的示例。实际上,我无法理解他试图谈论的区别 我有三个问题: 1. 什么是 Compact 和 Regular Size 类 2. 为什么size class有用? 3. 四种尺寸等级组合对模拟器(iPhone 5 和 5s 等)有何影响? 谢谢, 日段

【问题讨论】:

【参考方案1】:

来自Apple Docs:

尺寸类是分配给用户界面元素的特征,例如屏幕或视图。 ios 8 中有两种尺寸类别:常规和紧凑。常规尺寸类表示大量的屏幕空间,例如在 iPad 上,或提供大量屏幕空间错觉的常用范例,例如在 iPhone 上滚动。每个设备都由一个大小类定义,包括垂直和水平。

我喜欢这样想它们: 常规尺寸课程:大屏幕。 Ipad 有一个常规的垂直和常规水平尺寸等级。 紧凑型课程:很少。在纵向中,iPhone 在垂直方向上具有紧凑尺寸等级,在水平方向上具有常规尺寸等级

如果您进入情节提要并启用尺寸等级,您可以针对不同的屏幕进行设计。在 wAnyhAny 尺寸类中完成大部分设计。如果您想要特定于 iphone 的东西,请更改尺寸等级。在下图中,如果我选择 Compact Width/Regular Height(如图所示),我在 Storyboard 中的视图将变为看起来像 iphone。我可以拖入一个标签,而该标签只会在 iPhone 上纵向显示。如果我旋转到横向,标签将不会出现,因为它是不同的尺寸等级。

你可以在一个尺寸等级中改变四件事:

    约束的常量 如果在视图层次结构中安装了约束 如果视图安装在视图层次结构中 用于显示文本的多种视图类型的字体

【讨论】:

以上是关于紧凑型和常规尺寸类之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

根据尺寸等级更改约束的乘数

iPhone:使用尺寸类旋转设备时更改背景图像

ios7 忽略任何大小类

尺寸类紧凑高度不适用于 UIStackView 的轴和真实设备

UISplitViewController 以紧凑尺寸启动时未加载其子级

在 Xcode 中将图像尺寸调整为不同的 iPhone 屏幕尺寸