【问题标题】:How to align two buttons equidistance from the centre of the UIView如何将两个按钮与 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

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

【问题讨论】:

    标签: ios objective-c iphone autolayout


    【解决方案1】:

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

    这就是我所做的。

    左键:

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

    右键:

    1. 将约束添加到“居中 - 水平放置在容器中”
    2. 然后将该约束的乘数更改为 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 是第二项

      【讨论】:

        猜你喜欢
        • 2017-10-13
        • 1970-01-01
        • 2015-07-02
        • 2021-09-20
        • 2013-10-26
        • 1970-01-01
        • 2019-08-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多