Html文本

SwiftUI 视图,用于呈现格式化的 HTML 内容,带有可点击的链接,并适应内容大小。

特性

安装

Swift Package Manager (Swift 包管理器)

https://github.com/Jnis/HtmlText.git

用法

  1. 手动控制 body、CSS 和链接点击。
import HtmlText

HtmlText(body: "<p>text1</p><p>text2</p>",
         css: .init(fontFaces: [],
                    css: "* {color:#FF00FF}"),
         linkTap: { url in
    // handle link tap
})
  1. 使用默认的链接点击处理程序和 CSS 构造器。
import HtmlText

// make a convenient wrapper
extension HtmlText {
    init(body: String, font: FrontNames, size: CGFloat, lineHeight: CGFloat, textColor: Color) {
        self.init(body: body,
                  css: .init(constructor: CSS.Constructor()
                        .text(fontName: font.fontName,
                              fileName: font.fileName,
                              size: size,
                              lineHeight: lineHeight,
                              letterSpacing: 0,
                              textIndent: 10,
                              color: textColor)
                        .link(color: .red, underlined: false)
                        .paragraph(padding: .init(top: 10, left: 0, bottom: 0, right: 0))
                        .list(padding: .init(top: 10, left: 24, bottom: 10, right: 0))
                  ),
                  linkTap: HtmlText.defaultLinkTapHandler(httpLinkTap: .openSFSafariModal))
    }
}

HtmlText(body: Constants.demoHtml,
         font: .bold,
         size: 12,
         lineHeight: 20,
         textColor: Color.gray)

您可以在 /Examples 文件夹中找到更多示例。

许可证

MIT