AutoLayout 大小 类 - 不同的比例高度

AutoLayout Size Classes - different proportional heights

我需要将子视图的高度设置为与其父视图成比例。在 iPad 上,我需要它是高度的三分之一,而在 iPhone 上,我需要它是高度的一半。在 "AnyAny" 大小 class 中,我创建了约束并将乘数设置为 0.3333333。这在 iPad 上起到了应有的作用。当我将大小 class 更改为 "CompactRegular" 时,我将约束的乘数更改为 0.5。虽然这使它在 iPhone 上减半,但它也适用于 iPad。我如何才能使大小 classes 具有不同的乘数?

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

  • 在Any/Any中加入原来的约束条件(subview.height = superview.height * 0.33).
  • 切换到 Compact/Regular,select 之前添加的约束。
  • 在大小检查器中,单击 "installed" 旁边的“+”按钮,然后单击 select Compact/Regular。现在您可以在 Compact/Regular 中禁用 "installed"(见图)。
  • 添加新约束 (subview.height = superview.height * 0.5),并确保它仅安装在 Compact/Regular 模式下。