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

时间:2013-10-30 08:37:26

标签: ios objective-c autolayout

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

enter image description here

如果我选择“Bottom Space to Container”并且没有得到“Align bottom to parent”系统约束:

enter image description here

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

enter image description here

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

enter image description here

2 个答案:

答案 0 :(得分:17)

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

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

那可能不太清楚,所以在这里:

enter image description here

答案 1 :(得分:5)

添加Bottom Space to Container约束是正确的方法。它会将视图与其父级的下边缘保持恒定距离。如果添加该约束并且在调整视图大小时不会导致正确的行为,则可能需要首先删除视图上的其他约束(请考虑顶部约束)。

如果您发现更容易设置,您还可以将标签与另一个标签对齐,完全忽略容器。