Swift 3.0在UILABEL

时间:2017-06-24 11:24:40

标签: html swift uilabel

我在UITableView上有行列表,每行包含来自apis的html字符串,我正在使用

 let str = try NSMutableAttributedString(data: d,
                                                    options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType],
                                                    documentAttributes: nil)

但是我无法获得每个html字符串的真实高度?我尝试使用Label.sizeThatFits但它没有用。

如何从UILabel获取html字符串的真实高度?

由于

1 个答案:

答案 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
}'