【问题标题】:Position an UIView between two views in the center?在中心的两个视图之间放置一个 UIView?
【发布时间】:2015-01-02 00:20:42
【问题描述】:

我想定位 UIView 相对于定位前后的视图,即它们的进入距离应该相等。所以 x, o, y 是视图。

x <----> o <----> y

距离(d, o) = 距离(o, y)

故事板有可能吗? 我不想将它相对于容器居中。

【问题讨论】:

  • 如果你只是想在它的容器中居中,你可以使用中心水平约束。这是你想做的吗?
  • 不,我会避免的
  • 查看等宽约束。您也许可以设置前导和尾随约束,并要求它们的宽度相等,这样可以有效地将视图居中于其他两个视图之间。

标签: ios storyboard nslayoutconstraint


【解决方案1】:

我在x,oo,y 之间放置了两个额外的不可见视图,并为它们设置了等宽约束

我现在有这个布局:x-v1-o-v2-y

【讨论】:

    【解决方案2】:

    我假设您有一个容器,其中包含三个子视图 a、b 和 c,并且您希望将它们等间距:

     ___________________
    |                   |
    |  ___   ___   ___  |
    | |_a_| |_b_| |_c_| |
    |                   |
    |___________________|
    

    如果你不想有间隔视图,你可以尝试以下约束(以下不是代码):

    b.centerX = container.centerX

    a.centerX = container.centerX * 0.5

    c.centerX = container.centerX * 1.5

    我认为您必须先将所有视图居中,然后编辑创建的约束的乘数参数。

    【讨论】: