我在UITableView上有行列表,每行包含来自apis的html字符串,我正在使用
let str = try NSMutableAttributedString(data: d,
options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType],
documentAttributes: nil)
但是我无法获得每个html字符串的真实高度?我尝试使用Label.sizeThatFits但它没有用。
如何从UILabel获取html字符串的真实高度?
由于
答案 0 :(得分:1)
尝试此功能
'
func heightForHtmlString(_ text: NSMutableAttributedString, font:UIFont, labelWidth:CGFloat) -> CGFloat{
let label:UILabel = UILabel.init(frame: CGRect.init(x: 0, y: 0, width: labelWidth, height: CGFloat.greatestFiniteMagnitude))
label.numberOfLines = 0
label.lineBreakMode = NSLineBreakMode.byWordWrapping
label.font = font
label.attributedText = text as NSAttributedString
label.sizeToFit()
return label.frame.height
}'