Swift markdownui包使用详解

14 min read

Swift markdownui 是一个将 Markdown 文本转换成可视化界面的 Swift 库。下面详细介绍其使用方法。

安装

在项目的 Podfile 文件中添加以下行:

pod 'MarkdownUI'

执行 pod install 命令安装。

使用

在需要使用 MarkdownUI 的 ViewController 中导入库:

import MarkdownUI

在需要使用 Markdown 的地方添加 MarkdownView:

let markdown = MarkdownView()
markdown.load(markdown: "# Hello, Markdown!")

view.addSubview(markdown)

其中 load(markdown: String) 方法可以传入要展示的 Markdown 文本。

MarkdownView 还支持自定义样式:

markdown.update(Configuration(iconFont: UIFont(name: "Arial", size: 24)!))

在该示例中,自定义了 icon 字体的字体为 Arial,大小为 24。

MarkdownUI 还支持自定义 HTML 模板和样式。

高级用法

如果需要更精细的掌控 MarkdownUI,可以使用下面的方法进行更低级别的操作:

let document = MarkdownDocument(markdown: "Hello, **MarkdownUI**!")
document.configure(DocumentStyler())
document.configure(DocumentLayoutManager(width: frame.size.width))
document.configure(DocumentDelegate())
document.layout()
let node = document.node(at: point)

在这个示例中,我们创建了一个 MarkdownDocument 对象,并使用 configure(_: Any) 方法来添加组件。组件包括:DocumentStyler 用于应用样式,DocumentLayoutManager 用于布局,DocumentDelegate 用于实现代理方法。

之后使用 layout() 方法执行布局,node(at: CGPoint) 方法获取点击位置的节点。