当单元格的高度略微增长时,为啥我的标签不遵守我的自动布局约束?

Posted

技术标签:

【中文标题】当单元格的高度略微增长时,为啥我的标签不遵守我的自动布局约束?【英文标题】:Why do my labels not obey my Auto Layout constraints when the height of the cell grows slightly?当单元格的高度略微增长时,为什么我的标签不遵守我的自动布局约束? 【发布时间】:2014-04-18 22:45:56 【问题描述】:

我正在通过自动布局在自定义 UITableViewCell 子类中设置我的项目的位置,我很困惑为什么两个标签没有定位在单元格增长时它们应该位于的位置。

这是我的单元格的样子:

我将“标题”标签设置为从左侧、顶部和右侧定位。我将“作者”标签设置为“标题”的左边缘、“1200”的右边缘、“标题”的顶部和单元格的底部。我将 1200 和 1900 设置为彼此间隔并与“作者”间隔开,它们的底部与“作者”对齐。

但是,当细胞生长时,它们看起来像这样:

您可以看到这两个数字没有保持它们的“底部”对齐。这是为什么呢?

对于测试,这里有一个项目,您可以在其中看到它的实际效果:http://cl.ly/412m2A223z1S

【问题讨论】:

【参考方案1】:

两个问题:

您的作者标签被过度定义,您让它跟踪上方的对象以及容器底部。摆脱“Bottom Space to Superview”约束。

使用基线而不是底部将作者与 1900 和 1200 标签对齐,这样它们会更好地排列,因为字体不相同。

【讨论】:

以上是关于当单元格的高度略微增长时,为啥我的标签不遵守我的自动布局约束?的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 子视图不遵守自动布局约束

设置 UIImageView 的高度时 AutoLayout 失败

具有自动布局的自定义单元格的动态高度

为啥 UITableView 的最后一个单元格的高度用于剩余的空单元格?

具有自动调整大小的单元格的自定义 UICollectionViewLayout 会因估计的项目高度较大而中断

为啥不调用基于 nib 的自定义表格单元格的 init 方法