gpt4 book ai didi

ios - 计算包含 HTML 的 NSAttributedString 的高度

转载 作者:搜寻专家 更新时间:2023-11-01 07:12:04 24 4
gpt4 key购买 nike

我使用 NSAttributedString 通过以下代码显示 HTML 文本。

do {
let html = "<span style=\"font-family: Montserrat-ExtraLight; font-size: 14; line-height: 1.5;\">\(clinic.profile!)</span>"
let clinicProfile = try NSAttributedString(
data: (html.data(using: String.Encoding.unicode, allowLossyConversion: true)!),
options: [
NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType
],
documentAttributes: nil
)
contentView.attributedText = clinicProfile
scrollView.addSubview(contentView)
} catch {
print(error)
}

我现在想计算字符串的高度,在 HTML 中,我使用了 p, strong, em, ul > li, ol > li 等 HTML 标签。

我尝试了以下代码。

let size = CGSize(width: view.frame.width, height: 2000)
let boundingBox = contentView.attributedText.boundingRect(
with: size,
options: [.usesLineFragmentOrigin, .usesFontLeading, .usesDeviceMetrics],
context: nil
)
print(boundingBox.height)

这返回 462,比实际高度小得多,如何正确计算它的高度?

谢谢。

最佳答案

我的解决方案确实有效,问题是我错误地设置了 ScrollView 的大小,修复了 ScrollView 的高度解决了我的问题。

let size = CGSize(width: view.frame.width, height: 2000)
let boundingBox = contentView.attributedText.boundingRect(
with: size,
options: [.usesLineFragmentOrigin, .usesFontLeading, .usesDeviceMetrics],
context: nil
)
print(boundingBox.height)

关于ios - 计算包含 HTML 的 NSAttributedString 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44322345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com