添加垂直空间约束等于superview height multiple

时间:2016-02-11 10:30:39

标签: ios autolayout storyboard interface-builder constraints

我想要实现一件非常简单的事情。我有一个UIView,我希望我的UIView底部和底部布局指南之间的垂直空间是容器高度的10%(在这种情况下是viewController.view)。如何在故事板中实现这一目标?

所以像这样的事情

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

无论如何都要在故事板中实现这一点。目前我只能使用一些不变的魔术数字,直到iPhone 6 plus才能在iPhone 4上运行。

单击约束会显示此属性,因此如何在此处添加类似superViewHeight * 0.1的内容。我知道如果我设置视图的高度但是在这种情况下如何操作,我可以这样做。

enter image description here

由于

2 个答案:

答案 0 :(得分:1)

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

其次,在0.9部分中提供multiplier的值。这将使差距达到总高度的10%。

答案 1 :(得分:0)

如果我理解正确,你想要创建一个与superview的高度成比例的约束,而不是视图本身的高度。

您可以通过创建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)