如何添加“对齐底部到:父视图”系统约束?

Posted

技术标签:

【中文标题】如何添加“对齐底部到:父视图”系统约束?【英文标题】:How to add "Align bottom to: parent view" system constraint? 【发布时间】:2013-10-30 08:37:26 【问题描述】:

刚刚创建了一个演示单视图控制器项目。控制器视图包含集合视图,它包含单元格视图(橙色)。单元格视图包含一个视图(在内部选择),我需要将其与单元格视图的底部对齐。但是,当我在单元格视图中选择橙色视图时,按 Ctrl 并将其拖到单元格视图中,我看不到“将底部与容器视图对齐”或类似内容。只有“容器底部空间”选择,我不确定它是否具有相同的行为:

如果我选择“底部空间到容器”并且没有得到想要的“底部与父级对齐”系统约束:

我需要在现有代码库中添加一个具有自动布局的新标签,并且该标签必须位于具有“对齐底部到:父单元格”系统约束的现有标签旁边:

如果我选择我的新标签并按下底部的对齐按钮图标,则会有一些设置“底部边缘”。但是,无论如何,此选择都被禁用,我认为这是用户约束,但我需要系统约束“底部对齐:父单元格”。有什么建议为什么现有标签有这个限制,但我不能向新标签添加一个类似的标签?

【问题讨论】:

【参考方案1】:

刚刚遇到了底部约束被固定Bottom Layout Guide(在我的情况下是一个TabBar)而不是superview的情况,正如我想要的那样。

在修改了以编程方式创建和/或修改的约束后,我发现您实际上可以通过 Autolayout 的 Pin Popover 来实现,只需在下拉菜单中选择 View 而不是 Bottom Layout Guide如果您单击约束文本字段的小箭头,则会出现。

这可能不是很清楚,所以在这里:

【讨论】:

感谢您澄清这一点! 答案似乎与问题关系不大,但解决了我的另一个问题并挽救了我的生命!非常感谢!【参考方案2】:

添加Bottom Space to Container 约束是正确的方法。它将视图对齐到距其父级底部边缘的恒定距离。如果您添加该约束并且在调整视图大小时它没有导致正确的行为,则可能需要首先删除视图上的其他约束(考虑一个***约束)。

如果您发现设置更容易,您当然也可以将标签与其他标签对齐,完全忽略容器。

【讨论】:

谢谢。您有什么想法为什么单元格中的现有标签具有“对齐底部到:父单元格”系统约束,但我无法找到并将此类约束添加到也在同一个单元格(同一个容器)中的新标签?跨度> 对我来说,通过右键单击拖动添加Bottom Space to Container 约束会产生正确的“底部空间到:Superview”系统约束。使用弹出框,您可以通过从Pin 弹出框(不是Align 弹出框)中选择Spacing to nearest neighbour 来实现类似的效果。

以上是关于如何添加“对齐底部到:父视图”系统约束?的主要内容,如果未能解决你的问题,请参考以下文章

如何在约束布局中对齐线性布局

自动布局和对齐约束

将右对齐约束添加到以编程方式添加的子视图

如何使 UITableViewCell 居中,约束无法对齐

怎样使用AutoLayOut为UIScrollView添加约束

将视图用作 inputAccessoryView 时如何防止键盘添加自己的高度约束