gpt4 book ai didi

ios - 如何在 UITextview 中使用不同的字体样式但相同的字体系列呈现 HTML 字符串

转载 作者:行者123 更新时间:2023-12-01 17:48:00 25 4
gpt4 key购买 nike

这是我的 HTML 字符串:

<i>Italics </i><b>Bold </b><u>Underline</u><blockquote>block quote<br></blockquote>

我希望所有样式都相同(斜体、粗体等),但我想将字体系列实现为 Open Sans。因此,无论在哪里使用斜体,我都希望字体为 Open-Sans Italics。我该如何实现?请帮忙。

最佳答案

实现所需行为的一种方法是(复制并粘贴到 Playground )。

import PlaygroundSupport
import UIKit

func attributedString(fromHTML html: String, fontFamily: String) -> NSAttributedString? {
let prefix = "<style>* { font-family: \(fontFamily) }</style>"
return (prefix + html).data(using: .utf8).map {
try! NSMutableAttributedString(
data: $0,
options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType],
documentAttributes: nil
)
}
}

let attributedText = attributedString(fromHTML: "<i>Italics </i><b>Bold </b><u>Underline</u><blockquote>block quote<br></blockquote>", fontFamily: "Courier")

let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 50))
label.backgroundColor = .white
label.attributedText = attributedText
PlaygroundPage.current.liveView = label

Example

关于ios - 如何在 UITextview 中使用不同的字体样式但相同的字体系列呈现 HTML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41691743/

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