自动布局比例间距
Posted
技术标签:
【中文标题】自动布局比例间距【英文标题】:autolayout proportional spacing 【发布时间】:2014-08-21 22:26:02 【问题描述】:我是自动布局的新手,在我想要比例约束之前我做得很好。如果有人可以向我解释如何使用自动布局(在 IB 上)重新创建这种行为,我想我会完全理解。我知道如何设置 y 约束,我不知道如何将 x 约束设置为与超级视图的大小成正比,以便在旋转或其他情况后更新 x 位置。我听说过使用虚拟视图并以编程方式执行某些操作,但如果可能的话,我希望在 IB 上有一个直接的解决方案。
【问题讨论】:
创建一个约束,其中第一项是你的object.width
,第二项是你的superview.width
,乘数是比例。理论上,它应该像在你的对象和超级视图之间拖动一样简单,然后编辑约束值。在实践中,根据布局的复杂性,您可能需要引入包含对象的中间(不可见)视图,并在该中间视图与其父视图之间使用约束。试试这个,然后用一张图片来编辑你的问题,说明什么是错误的,什么是正确的。
【参考方案1】:
您说您正在寻找一种直接的方法来执行此操作。但是你已经忽略了最直接的方法。
在你的 superview 顶部添加一个视图,并使其高度与 superview 的高度成比例。
现在添加您的视图,使其直接位于之前的视图旁边。
隐藏“spacer”视图。
完成。无需代码。
【讨论】:
【参考方案2】:请不要添加空视图。只需将中心与 Y 对齐,然后调整比率。例如:3:2 将是 75% 的边距。
【讨论】:
以上是关于自动布局比例间距的主要内容,如果未能解决你的问题,请参考以下文章