我有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
。
结果看起来像这样:
答案 0 :(得分:1)
ContentHugging Resistance :设置优先级时,它对应于视图必须抵制拉伸内容的程度。
例如:如果纵向轴的内容拥抱优先级设置为1000或.required,则表示视图不会超出其内容高度。因此,如果标签有1行,则它不会超出该1行的高度。
内容压缩:恰恰相反,它会抵制压缩视图内容的视图。
对于“布加勒斯特马拉松”标签,将竖直内容设置为.required。
label.setContentHuggingPriority(.required, for: .vertical)
或1000