11

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

4

2 回答 2

18

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

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

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

在此处输入图像描述

于 2014-03-07T09:40:15.043 回答
5

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

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

于 2013-10-30T09:07:38.517 回答