添加等于 superview 高度倍数的垂直 space 约束

Adding vertical space constraint equal to superview height multiple

我想实现一个很简单的事情。我有一个 UIView,我希望我的 UIView 底部和底部布局指南之间的垂直 space 为容器高度的 10%(在本例中为 viewController.view)。如何在故事板中实现这一点?

所以像这样的事情

UIView.bottom = Height of superView * 0.1 + 0 from the Bottom layout guide

有没有办法在情节提要中实现这一点。目前我只能使用一些恒定的幻数,它不会一直在 iPhone 4s 上工作,直到 iPhone 6 plus.

单击约束会显示此属性,那么我如何在此处放置类似 superViewHeight * 0.1 的内容。我知道如果我设置视图的高度我可以做到这一点,但在这种情况下该怎么做。

谢谢

在这种情况下,您需要颠倒第一项和第二项。只需单击 first item 下拉菜单,您就会看到该选项。

其次,在multiplier部分给出0.9的值。这将使间隙占总高度的 10%。

如果我没理解错的话,你想创建一个与父视图的高度成比例的约束,而不是视图本身的高度。

您可以通过创建 NSLayoutConstraint 并指定它是 constant 和 运行 时间来以编程方式执行此操作。

let marginToBottomLayout = customView.superview!.frame.size.height * 0.1
let constraint = NSLayoutConstraint(item: customView,
    attribute: .Bottom,
    relatedBy: .Equal,
    toItem: self.bottomLayoutGuide,
    attribute: .Top, multiplier: 1.0,
    constant: marginToBottomLayout)