如何将顶部约束设置为屏幕高度的20%?

时间:2015-11-27 06:52:53

标签: ios cocoa-touch autolayout nslayoutconstraint

我在控制器的视图中有UIImageView,距离视图顶部的屏幕高度为20%。即我想将屏幕高度的20%设置为top Constraint的{​​{1}}。

我是否可以在不添加透明视图的情况下实现此功能,这是我现在的工作方式(通过将其高度设置为屏幕高度的20%)到容器视图?

3 个答案:

答案 0 :(得分:5)

UIImageView的顶部约束设置为main view的底部,常量0,乘数0.22:10

原因:main view底部的坐标等于它的高度(控制器的最顶部view)。

编辑:循序渐进

  1. UIImageView顶部添加约束到main view的顶部(就像您通常那样)。
  2. 进入该约束的详细信息,根据需要将main view顶部更改为第2项,并将其设置为main view底部而不是顶部。
  3. 设置约束常量0,乘数0.22:10

答案 1 :(得分:3)

你可以在IB / StoryBoard本身中完成。由于您希望图像视图与其超视图之间的顶部垂直空间始终为超视图高度的20%,因此将图像视图的高度设置为其高度的80%相同&# 39;超视图的高度并将图像视图的底部固定在它的超视图的底部。因此,您可以消除添加透明视图。

步骤(此处我只考虑垂直约束):
1.将约束从图像视图的底部拖到其超视图的底部 2.将相等高度约束从图像视图拖到其超视图中。在尺寸检查器中将此约束的乘数值更改为8:10(下面附带屏幕截图)。

Size Inspector

答案 2 :(得分:1)

将Spacer View放在顶部&给它的高度比例高度为20%,然后使用spacerView& amp;给予你的imageView顶部约束。完成