自动布局对齐问题

Posted

技术标签:

【中文标题】自动布局对齐问题【英文标题】:Autolayout alignment issue 【发布时间】:2017-01-23 12:54:38 【问题描述】:

我正在使用 Autolayout 来实现表格单元格中两个标签的对齐。

Wanted behavior

基本上,如果所有文本都有空间,我需要底部标签与顶部标签的左边距对齐,如果没有,则忽略边距。

我做了什么,使用 Interface Builder:

我将顶部标签固定在顶部,尾随,并且对于初学者来说,给它一个固定宽度 100(如果我不添加这个,那么底部标签会正确扩展,但它也会将上部标签拉伸到保持在左侧对齐)

还将底部标签固定到向上、底部和尾部(优先级 1000)

为底部标签添加了一个前导约束,优先级为 750

这似乎不起作用,底部标签总是被剪裁以适合上部标签的长度,我不知道为什么。

【问题讨论】:

【参考方案1】:

您需要将底部标签的前导约束关系设置为“小于或等于”到“0”相对于顶部标签。

【讨论】:

这就像一个魅力。谢谢!您对为什么它不适用于我使用的“等于”约束和较低优先级有任何见解吗? 当系统需要打破 1 个约束时使用优先级,但标签往往会根据内容增加其大小。因此,对于短文本,您的顶部标签的宽度正在增加。

以上是关于自动布局对齐问题的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局对齐两个 uiviews

将 UIImageView 与自动布局对齐

使用自动布局并创建动态界面(隐藏字段时自动重新对齐)

iOS底部对齐具有编程自动布局约束的对象

使用自动布局(以编程方式)水平对齐 UIButton

自动布局对齐到中心(垂直或水平)与常数