如何将间距约束指定为父视图大小的一部分?

How do I specify a spacing constraint as a proportion of the superview's size?

假设我有一个图像视图,我希望它的宽度等于父视图宽度的一半。我可以使用 0.5 的乘数在图像视图和超级视图之间添加一个 "Equals Width" 约束。

同样,我正在寻找一种方法来将间距约束指定为父视图大小的一部分。继续上面的示例,而不是希望图像视图的宽度是父视图的一半,例如,我希望图像视图底部和底部布局指南之间的距离是父视图的五分之一高度。

这是一个过去对我有用的解决方案。感觉这样做有点奇怪,但它可以解决问题。

首先,在你的父视图中放置五个等高的隐藏视图。一定要使用约束来使它们扩展和收缩它们的父视图。现在无论您的父视图有多大,您都将在其中拥有这些视图,这些视图恰好是您父视图大小的五分之一。

要使用您问题中的示例,现在您可以将 imageView 的大小限制为与这五个隐藏视图之一成比例。然后你可以限制它以其中之一为中心,这样你的间距也适合任何尺寸。