Xcode - Swift - iOS - 基于标题和小标题扩展TableView单元格

问题描述:

我有一个使用自定义单元格的TableView。这些自定义单元格中有三个标签。该UIViewController中看起来是这样的:Xcode - Swift - iOS - 基于标题和小标题扩展TableView单元格

我试图让这个取决于标题,地点和时间标签的长度,细胞会相应扩大。我已经设置了每个标签可以占用0(无限)的行数。 TableView本身被限制在ViewController的边和底部,而在顶部则被限制在薄蓝色的UIView中。是细胞内的三个标签的限制如下:

“标题” 标签的限制:

"Title" label constraints

“位置” 标签的限制:

"Location" label constraints

“时代”标签限制:

"Time" label constraints

问题是,当我运行模拟器时,我发现当单元太长时,标签的末尾只有“...”,并且不会到下一行。他们总是保持一条线。我希望标签的文本根据需要转到下一行,并让单元相应地展开。

在代码中,我有台词:

tableView.rowHeight = UITableViewAutomaticDimension 
tableView.estimatedRowHeight = 100.0 

和我有相应的代码,集合中的小区为的tableView,确保使用我已经设置了自定义单元格。

确保设置适当的内容压缩阻力优先级。这意味着标签应该尽量抵制“被挤压”或压缩。在约束条件因某种原因“竞争”的情况下,尝试让它们对于每个标签略有不同。例如,使TitleLabel的垂直优先级752,LocationLabel 751和750 TimeLabel

enter image description here

+0

是的,我已经有这个是751,750,749,并为标题,位置和时间标签:

我不完全理解为什么,在这里张贴的问题,试图找到答案。尽管感谢您的评论。 – Infamous911

我遇到了同样的问题。经过多年的争论后,我发现将标签的水平抗压缩设置降低到250(顶部标签)和251(底部标签)工作!分别https://*.com/questions/33236691/how-does-reducing-horizontal-compression-resistance-for-a-label-affect-row-heigh

+0

尽管这个链接可能回答这个问题,但最好在这里包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 –

+0

谢谢@VojtechVrbka注意! –