将中间对象垂直对齐在其他 2 个对象之间的中心

Posted

技术标签:

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

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

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

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

【讨论】:

【参考方案3】:

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

步骤(我们在这里只考虑垂直限制): 1. 添加视图(屏幕截图 1 中的绿色视图)。 2. 将红色视图放在绿色视图中(即,将红色视图作为子视图添加到绿色视图中)。 3.在绿色视图和蓝色视图之间添加一个垂直约束(让这个约束的常数为0)。 4.在绿色视图和黑色视图之间添加一个垂直约束(让这个约束的常数为0)。 5. 添加从红色视图到绿色视图的前导和尾随约束。 6. 从红色视图到绿色视图添加“容器中垂直居中”约束。注意: 1. 我已经将容器视图的背景颜色设置为绿色,这样更容易解释。您需要将其更改为清除颜色,以便容器视图不可见。 2. 您可以查看屏幕截图 2,了解视图之间的所有约束。

屏幕截图 1: 截图 2:

【讨论】:

以上是关于将中间对象垂直对齐在其他 2 个对象之间的中心的主要内容,如果未能解决你的问题,请参考以下文章

使用CSS垂直和水平对齐(中间和中心)[重复]

使对象居中,因此垂直约束总是均匀的

将 SVG 文本与其他 SVG 对象垂直对齐以使用 Inkscape

在中心垂直对齐项目 - Sencha Panel

使用 PIL 居中/中间对齐文本?

UIStackView 没有将自身对齐到中心?对象-c