AutoLayout:子视图的位置与父视图成比例

AutoLayout: position of subview proportional to parent view

假设 我在 y=10 处有一个 UIImageView,而屏幕是 height:100。

如果我希望图像始终位于父级的 y:10% 处,我必须设置什么限制? 父级 height:100 - UIImage y:10 父级 height:200 - UIImage y:20 父 height:320 - UIImage y:32

有没有不用编码的方法? (仅限 Interface Builder 中的约束)?提示:在自动布局之前,这真的很容易。

谢谢!

您可以在界面生成器中使用间隔视图执行此操作。

  1. 在您的父视图中放置一个隐藏的 UIView,与其父视图的顶部间距为 0。
  2. 使隐藏 UIView 具有与父视图相同的高度,乘数为 0.1,因此它始终为父视图高度的 10%。
  3. 使你的 UIImageView 与隐藏 UIView 的顶部间距为 0。

这应该使您的 UIImageView y 位置始终为父视图高度的 1/10。