UITableViewCell 中的 UILabel 在不应该扩展高度时
UILabel in TableViewCell expands height when it shouldn't
我在可以有多行文本的 TableViewCell 中有 UILabel。我正在使用自动布局并期望单元格适当地扩展它的高度。大多数情况下它工作正常,但是当 UILabel 中的文本几乎与标签宽度相同时,会发生一些奇怪的事情。标签似乎过早地扩展了它的高度。
更新: 我已将示例项目上传到 github:
https://github.com/fwaddle/TestBadHeight
如下所示,第一个单元格不应大于第二个单元格。
顶部标签约束:
子标签约束:
信息按钮约束
你的 UILabel 中有 sizeToFit 吗?这可能会导致单元格调整大小以适应数字 5,并且不能满足您的尾随约束。
您配置标签的方式存在一些问题。第一件事是您将 SublLabel
的 Content Hugging Priority
修改为 252 而不是默认的 251。这会导致 UILabel 的默认行为发生变化(这意味着它不会调整大小以完全适合它内容)。
一旦你修改它,你的约束就会有一些冲突,因为它不能同时满足所有的静态单元格高度和定义单元格高度的垂直约束。
因此,您将需要更改情节提要中单元格的大小,使其适合这种特定情况(我试过了,正确的高度是 73,以满足约束条件)或降低约束之一的优先级(比方说从 SubLabel
到 ContentView
的底部约束)。
结果应该是一样的,你的标签高度应该计算正确。
希望这能解决您的问题。祝你好运!
我在可以有多行文本的 TableViewCell 中有 UILabel。我正在使用自动布局并期望单元格适当地扩展它的高度。大多数情况下它工作正常,但是当 UILabel 中的文本几乎与标签宽度相同时,会发生一些奇怪的事情。标签似乎过早地扩展了它的高度。
更新: 我已将示例项目上传到 github: https://github.com/fwaddle/TestBadHeight
如下所示,第一个单元格不应大于第二个单元格。
顶部标签约束:
子标签约束:
信息按钮约束
你的 UILabel 中有 sizeToFit 吗?这可能会导致单元格调整大小以适应数字 5,并且不能满足您的尾随约束。
您配置标签的方式存在一些问题。第一件事是您将 SublLabel
的 Content Hugging Priority
修改为 252 而不是默认的 251。这会导致 UILabel 的默认行为发生变化(这意味着它不会调整大小以完全适合它内容)。
一旦你修改它,你的约束就会有一些冲突,因为它不能同时满足所有的静态单元格高度和定义单元格高度的垂直约束。
因此,您将需要更改情节提要中单元格的大小,使其适合这种特定情况(我试过了,正确的高度是 73,以满足约束条件)或降低约束之一的优先级(比方说从 SubLabel
到 ContentView
的底部约束)。
结果应该是一样的,你的标签高度应该计算正确。
希望这能解决您的问题。祝你好运!