Xcode - Swift - iOS - 基于Title& amp;扩展TableView单元格字幕大小

时间:2015-07-22 06:28:10

标签: ios xcode swift tableview cell

我有一个使用自定义单元格的TableView。这些自定义单元格中包含三个标签。 UIViewController看起来像这样:

我试图这样做,以便根据标题,位置和时间标签的长度,单元格将相应地扩展。我已设置每个标签最多可达0(无限)的行数。 TableView本身被限制在ViewController的侧面和底部,而顶部则是瘦蓝色的UIView。细胞内三个标签的约束如下:

"名称"标签限制:

"Title" label constraints

"位置"标签限制:

"Location" label constraints

"时间"标签限制:

"Time" label constraints

问题在于,当我运行模拟器时,我看到标签,当电池太长时,只需要#34; ..."最后,不要去下一行。他们总是保持一条线。我希望标签的文本根据需要转到下一行,并让单元格相应地扩展。

在代码中我有以下几行:

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 100.0

我有适当的代码设置tableView的单元格,确保使用我设置的自定义单元格。

2 个答案:

答案 0 :(得分:0)

确保设置适当的内容压缩阻力优先级。这意味着标签应该试图抵制“被压扁”#34;或压缩。尝试使每个标签略有不同,以防约束"竞争"由于某些原因。例如,使TitleLabel的垂直优先级为752,LocationLabel 751和TimeLabel 750。

enter image description here

答案 1 :(得分:0)

我遇到了同样的问题。经过多年的争斗,我发现将标签的水平抗压力设置降低到250(顶部标签)和251(底部标签)有效!

我不完全理解原因,并在此处发布了一个问题,尝试寻找答案:https://stackoverflow.com/questions/33236691/how-does-reducing-horizontal-compression-resistance-for-a-label-affect-row-heigh