如何将两个按钮与 UIView 的中心等距对齐

Posted

技术标签:

【中文标题】如何将两个按钮与 UIView 的中心等距对齐【英文标题】:How to align two buttons equidistance from the centre of the UIView 【发布时间】:2015-02-26 05:52:22 【问题描述】:

我正在使用自动布局。面对有趣的问题。幸运的是暂时克服了它,但需要知道解决它的最佳方法。

问题: 如上图所示,我有几个按钮。两者都需要放置在距 UIView 中心等距离的宽度处(粗体垂直线是视图的中心)。此外,我必须以自动调整按钮之间距离的方式应用约束。例如距离应为设备宽度的 25%。如果我的设备宽度为 320,则按钮之间的距离为 80 像素,依此类推。

解决方法(我试过了): 对于上述问题,我尝试了解决方案。如图所示,我在 UIView 中的虚拟视图上添加了虚拟视图的宽度等于两个按钮之间的间距。然后我将约束应用于虚拟视图。如:1. Horizontal centre of the UIView 2.Width equals to the UIView width with 0.25 as a multiplier

问题: 上述解决方案对我来说非常有效。但是如果将来如果我的视图有太多复杂的元素,那么添加虚拟视图可能不是一个好主意。那么,还有其他干净的方法可以做到这一点吗?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。我使用从 rdelmar 的回答中得到的想法解决了。

这就是我所做的。

左键:

    将约束添加到“居中 - 水平放置在容器中” 然后将该约束的乘数更改为 0.5 而不是 1。

右键:

    将约束添加到“居中 - 水平放置在容器中” 然后将该约束的乘数更改为 1.5 而不是 1。

让我知道它是否对你有用。

【讨论】:

我认为这很聪明 :) 谢谢eestein! :)【参考方案2】:

您可以在情节提要(或 xib)中通过对屏幕右边缘使用约束来执行此操作 - 右边缘的值与屏幕宽度相同,因此您可以将其用于计算。对于左按钮,您希望其后沿等于超级视图的右边缘乘以 0.375(0.5 减去 0.125,这是您要求的 25% 的一半)。右侧按钮的前沿等于 superview 的右侧边缘乘以 0.625 (.5 + .125)。

约束看起来像这样,

【讨论】:

【参考方案3】:

尝试将 btn2 的前缘和 btn1 的后缘与视图的中心 y 对齐设置常量为 0,乘​​数分别为 200:160 和 120:160,其中中心 y 是第二项

【讨论】:

以上是关于如何将两个按钮与 UIView 的中心等距对齐的主要内容,如果未能解决你的问题,请参考以下文章

将两个按钮居中对齐一个右侧

如何将两个按钮和视图从左到中对齐,从中心到右对齐

Sencha Touch:如何在底部停靠的工具栏中居中对齐两个按钮?

如何在一个圆圈内对齐 UIButtons?

如何将按钮与中心对齐以响应本机平面列表

如何使用中心和列小部件内的对齐小部件在底部有两个按钮?