如何在 Swift 3 上的表格单元格内设置多行 UILabel?

How can I set a multiline UILabel inside UITableCell on Swift 3?

我正在尝试在 UITableCell.

中设置多行 UILabel

UILabel 有一个比例 width 参考设备的屏幕(带乘数)。它里面的文本可以改变所以我需要适应 UILabel 当文本的宽度高于 UILabel 宽度的 space 时能够多行。

我尝试使用:

myLabel.lineBreakMode = .byWordWrapping
myLabel.numberOfLines = 0
myLabel.sizeToFit()

但它总是显示在一行中,截断超出 UILabel 宽度的文本。

如何让我的 UILabel 成为多行的?

编辑:我无法在我的文本中添加分界线,因为我从我的数据库中检索了我的文本。

提前致谢!

如果你想让一个标签从一行切换到多行,你要么必须在字符串的文本中用\n或换行符指定换行符,要么你可以为标签的宽度设置约束,或者您可以为标签设置前导和尾随约束。如果其中一种方法完成,标签将转到达到最大行数所需的行数,如果设置为 0,则为无限行。

最后我能够添加以下代码来制作我的多行 UILabel:

self.tableView.estimatedRowHeight = 50.0

并减少 multiplier 值。文本似乎无法适应 UITableCell.

的高度

这两行是自动计算单元格高度所必需的。把这些放在 viewDidLoad.

self.tableView.estimatedRowHeight = 50.0
self.tableView.rowHeight = UITableViewAutomaticDimension