我正在为iOS的应用程序快速编程,并且表格视图有问题。该表的单元格内部有一个水平stackView,其中三个标签包含不同长度的文本。我已经放置了所有约束,似乎可以自动调整单元格的高度,但是我意识到了一点:它可以根据最短的条件自动调整单元格的高度。因此,它会截断较长的一个,如您在图像中看到的。请帮忙,我不知道如何解决它,也无法在线找到解决方案。
如何根据像元组件高度设置像元高度。 image problem: at verse 8 it truncate according the shortest one.
答案 0 :(得分:0)
Auto Layout
Horizontal StackView
中的UITableViewCell
。也就是说,将前导,顶部,尾部和底部约束添加到单元格ContentView
。在numberOfLines
或代码中将所有UILabel
中的IdentityInspector
设置为0。
yourLabel.numberOfLines = 0
添加以下UITableView Delegate
方法来配置像元高度。
func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
return 200
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
它将自动将所有单元格的大小调整为所需的高度,这是三个标签中的最大高度,以在每个标签中显示整个文本。
使用sizeToFit()
来调整标签的垂直对齐方式。要使文本垂直对齐到左上角(显然,可以通过修改标签框架-缩小标签以包含文本来完成)。
cell.labelOne.sizeToFit()
cell.labelTwo.sizeToFit()
cell.labelThree.sizeToFit()
cell.layoutIfNeeded()