我有html字符串数据,我在textview中显示它
但是我想知道关于我的html数据的textView内容高度
因为我想将textview添加为UIScrollView的子视图以显示数据
我还希望textview不滚动,并向用户显示所有数据。
所以,我需要知道textview的高度
对我有任何想法吗?
谢谢。
do {
let attrStr = try NSAttributedString(
data: htmlString.data(using: String.Encoding.unicode, allowLossyConversion: true)!,
options: [ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil)
self.textView.attributedText = attrStr //how to know the height about the content?
} catch let error {
print(error)
}
答案 0 :(得分:1)
尝试此函数以获取标签的高度,然后将该高度传递给textView。希望这能解决你的问题。
func heightForHtmlString(_ text: NSMutableAttributedString, font:UIFont) -> CGFloat {
let label:UILabel = UILabel.init(frame: CGRect.init(x: 0, y: 0, width: 200, height: CGFloat.greatestFiniteMagnitude))
label.numberOfLines = 0
label.lineBreakMode = NSLineBreakMode.byWordWrapping
label.font = font
label.attributedText = text as NSAttributedString
label.sizeToFit()
return label.frame.height
}