使用Sizes类调整iOS大小

大小类和自动布局可通过定义显示环境更改时屏幕,视图控制器和视图的布局应如何调整来帮助您满足渲染期望。 例如,Size类将帮助您定义当应用程序以横向放置在iPhone上时屏幕的外观,或者将应用程序显示在iPad或较小设备上时的外观。 我们可以为特定尺寸定义屏幕布局。

Size类只有两种类型的大小:

  • 常规尺寸
    o常规高度
    o常规宽度
  • 紧凑的尺寸
    o紧凑的高度
    o紧凑的宽度

我们拥有的所有iOS设备都属于上述类别。 此大小级别适用于设备,而不适用于它们具有的分辨率。 例如,所有处于纵向模式的iPhone都将具有“常规”高度和紧凑宽度。 让我们看一下网格以使其更容易。

现在,我们将看到来自Xcode的所有类别的屏幕截图

最佳做法是将屏幕设计为任意高度,任何宽度。 还要添加自动布局所需的所有约束,然后我们可以根据尺寸类别进行更改。 例如,如果我想在我的应用程序在iPhone上进入横向模式时删除标签栏,那么我将选择大小级别的紧凑高度和紧凑宽度。 然后,我将删除标签栏。 要从特定类中删除标签栏,我们需要使用“命令+删除”键盘快捷键,而不仅仅是“删除”。 这样,当您在iPhone上运行您的应用程序时,纵向将显示标签栏,而横向将不显示标签栏。

让我们创建一个带有工具栏和屏幕上图像的应用程序。 为了检查尺寸分类的工作方式,我们将删除工具栏并更改iPhone横向方向的图像高度,即“紧凑高度-紧凑宽度”。

  • 让我们将屏幕设计为任意高度-看起来像任何宽度:
  • 现在,我们将删除高度紧凑的工具栏-紧凑的宽度。 为此,我们将选择紧凑的高度-尺寸类别中的紧凑的宽度。 然后,我们将选择工具栏并使用“命令+删除”从紧凑高度(紧凑宽度)中删除工具栏。 删除高度紧凑的工具栏(宽度紧凑)后,它在文档轮廓中将显得褪色。
  • 让我们更改图像的高度以获得紧凑的高度-紧凑的宽度。 为此,我们将选择屏幕上的图像并打开尺寸检查器。 然后单击图像的高度约束。 如下所示,您可以在常量附近看到“ +”号。

现在,我们将单击该加号,它将打开一个小菜单,我们需要在其中选择紧凑的高度-紧凑的宽度。

当我们处于紧凑高度(紧凑宽度)时,我们会将图像高度的常数设置为170。 如下所示:

我们完了。 让我们检查一下Xcode预览中的屏幕外观

正如我们所看到的,我们所做的所有更改都反映了紧凑的高度-紧凑的宽度iPhone 3.5英寸横向。

当我们更改图像的高度时,我们可以更改特定标签的字体大小,并且它将针对所选的大小类别反映出来。

希望这篇博客文章在使用自动布局设计应用程序时提供有关使用大小类的信息。 可以从这里https://github.com/prajaktak/iOSSizeClassDemo随意收集示例,并进行试用。