如何将间距约束指定为超级视图大小的比例?
Posted
技术标签:
【中文标题】如何将间距约束指定为超级视图大小的比例?【英文标题】:How do I specify a spacing constraint as a proportion of the superview's size? 【发布时间】:2015-08-02 03:36:35 【问题描述】:假设我有一个图像视图,我希望它的宽度等于父视图宽度的一半。我可以在图像视图和超级视图之间添加一个“等于宽度”约束,使用乘数 0.5。
同样,我正在寻找一种将间距约束指定为超级视图大小比例的方法。继续上面的例子,而不是希望图像视图的宽度是超级视图的一半,例如,我希望我的图像视图底部和底部布局指南之间的距离是超级视图的五分之一高度。
【问题讨论】:
【参考方案1】:这是过去对我有用的一种解决方案。这感觉有点奇怪,但它会成功。
首先,在您的超级视图中放置五个高度相同的隐藏视图。一定要使用约束来使这些扩展和它们的超级视图收缩。现在,无论您的 superview 大小如何,您都将在其中拥有这些视图,这些视图正好是您的 superview 大小的五分之一。
要使用您问题中的示例,现在您可以将 imageView 的大小限制为与这五个隐藏视图之一成比例。然后,您可以将其限制为以其中一个为中心,这样您的间距也适用于任何尺寸。
【讨论】:
以上是关于如何将间距约束指定为超级视图大小的比例?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SnapKit 中按比例设置边缘偏移与超级视图高度的大小