AutoLayout Size Classes - 不同的比例高度

时间:2015-04-19 13:53:03

标签: ios iphone ipad autolayout size-classes

我需要将子视图的高度设置为与其父视图成比例。在iPad上,我需要它是高度的三分之一,而在iPhone上我需要它是一半。在“AnyAny”大小类中,我创建约束并将乘数设置为0.3333333。这样做可以在iPad上实现。当我将size类更改为“CompactRegular”时,我将约束的乘数更改为0.5。虽然这使它在iPhone上占了一半,但它也适用于iPad。如何使大小类具有不同的乘数?

1 个答案:

答案 0 :(得分:5)

您需要为Compact / Regular添加一个新约束,并确保原始约束只安装在Any / Any中,如下所示:

  • 在Any / Any中,添加原始约束(subview.height = superview.height * 0.33)。
  • 切换到Compact / Regular,然后选择之前添加的约束。
  • 在尺寸检查器中,单击“已安装”旁边的“+”按钮,然后选择“紧凑/常规”。现在您可以在Compact / Regular中禁用“已安装”(参见图片)。
  • 添加新约束(subview.height = superview.height * 0.5),并确保它仅以紧凑/常规模式安装。

Size inspector