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

How can I set the top Constraint to be 20 percent of the screen height?

我在控制器的视图中有一个 UIImageView,距离视图顶部屏幕高度的 20%。即我想将屏幕高度的 20% 设置为 UIImageViewtop Constraint

我可以在不向容器视图添加透明视图的情况下实现此功能吗?我现在就是这样做的(通过将其高度设置为屏幕高度的 20%)?

将 Spacer View 放在顶部并将其高度比例高度设置为 20%,然后使用 spacerView 为您的 imageView 提供顶部约束并完成

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

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

编辑:一步一步

  1. 添加从顶部 UIImageViewmain view 顶部的约束(就像您通常做的那样)。
  2. 进入该约束的详细信息,如果需要,将 main view top 更改为第二项,并将其设置为 main view bottom 而不是 top。
  3. 设置约束常数0、乘数0.22:10

您可以在 IB/StoryBoard 中完成。由于您希望图像视图与其父视图之间的顶部垂直 space 始终为父视图高度的 20%,因此与将图像视图的高度设置为其父视图高度的 80% 并固定图像视图的底部到它的超级视图的底部。因此,您可以取消添加透明视图。

步数(我这里只考虑垂直约束):
1. 将约束从图像视图的底部拖到它的父视图的底部。
2. 将 等高约束 从图像视图拖到它的父视图。在 Size Inspector 中将此约束的乘数值更改为 8:10(屏幕截图见下方)。