我有一个带有多个UITableViewCell的UILabels,其中一个是多行的.所有UILabels都有固定的content hugging and compression resistance间距,如下图所示。

在代码中,tableView是delegate和dataSource,rowHeight属性和heightForRowAt设置为UITableViewAutomaticDimension
我试着用content hugging and compression resistance值洗牌和做各种安排。但是,文本较少的较小单元格的高度保持相同的大小(如下图所示),而文本较多的单元格看起来就像它应该的那样。我没有提到任何高度,除了estimatedRowHeight,也就是,135
我做了一个高度检查
print(cell.frame.height)它返回所有单元格的140.0。
结果如下:

发布于 2018-03-25 17:19:30
概念:
ContentHugging电阻:当您设置一个优先级时,它对应于视图必须在多大程度上抵抗正在拉伸的内容。
例如:如果将垂直轴的内容拥抱优先级设置为1000或.required,则意味着视图不会超出其内容高度。因此,如果标签上有1条线,那么它就不会超过1条线的高度。
内容压缩:正好相反,它会抵制视图压缩视图的内容。
解决方案:
对于“布加勒斯特马拉松”标签,将垂直内容拥抱设置为.required。
代码:
label.setContentHuggingPriority(.required, for: .vertical)或1000
https://stackoverflow.com/questions/49478324
复制相似问题