【问题标题】:Align a middle object vertically in center between 2 other objects将中间对象垂直对齐在其他 2 个对象之间的中心
【发布时间】:2015-12-01 12:15:20
【问题描述】:

我需要将红色对象对齐在黑色和蓝色对象之间的中间... 我应该在这些对象中添加哪些约束?

【问题讨论】:

    标签: ios xcode autolayout


    【解决方案1】:

    Ctrl + 点击在中间视图和拖到顶视图,现在离开点击和Ctrl。选择水平居中。确保根据您的要求为两个视图提供了高度和宽度限制

    现在 Red 和 Black ,执行相同的 Ctrl + 单击 + 从黑色拖动到红色或从红色拖动到黑色,添加两个约束。 领先和落后,如第二张图片

    要为单个对象添加多个约束,您可以在单击属性时按住 window 键。 希望这会有所帮助

    【讨论】:

    • 它不起作用....反正有办法以编程方式添加约束吗?我认为按照说明操作更容易
    【解决方案2】:

    如果您只需要将红色视图在蓝色和黑色视图之间对齐,您只需将红色视图的顶部和底部空间设置为相同的值。

    如果您为它们提供足够的约束,以便 xcode 可以计算其每一帧,您的红色视图将自动垂直居中放置在蓝色和黑色视图之间。

    【讨论】:

      【解决方案3】:

      您需要在蓝色和黑色视图之间添加一个容器视图。将红色视图放置在容器视图内,并将该红色视图垂直居中放置在容器视图内。

      步骤(我们在这里只考虑垂直限制):
      1. 添加视图(屏幕截图 1 中的绿色视图)。
      2. 将红色视图放在绿色视图中(即,将红色视图作为子视图添加到绿色视图中)。
      3.在绿色视图和蓝色视图之间添加一个垂直约束(让这个约束的常数为0)。
      4.在绿色视图和黑色视图之间添加一个垂直约束(让这个约束的常数为0)。
      5. 添加从红色视图到绿色视图的前导和尾随约束。
      6. 从红色视图到绿色视图添加“容器中垂直居中”约束。

      注意:
      1. 我已经将容器视图的背景颜色设置为绿色,这样更容易解释。您需要将其更改为清除颜色,以便容器视图不可见。
      2. 您可以查看屏幕截图 2,了解视图之间的所有约束。

      屏幕截图 1:

      截图 2:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-19
        • 1970-01-01
        • 1970-01-01
        • 2022-06-24
        • 1970-01-01
        • 2017-07-27
        • 2014-07-27
        • 1970-01-01
        相关资源
        最近更新 更多