想在 iOS App 中实现高性能原生 Markdown 渲染?特别是要替代老旧的 WebView/低效方案、支持 AI 对话流式输出?
今天推荐一个值得关注的开源项目 ——
👉 MarkdownDisplayView(CocoaPods 上也叫 MarkdownDisplayKit)
仓库地址
中文 readme 地址
效果展示
正常打开渲染

流式渲染

项目概览
MarkdownDisplayView 是由本人 基于 Apple 最新 TextKit 2 构建的 iOS 原生 Markdown 渲染组件,目标是替代老方案,在性能、渲染效果和交互上都有显著提升。
核心特点
-
极速渲染体验
-
- 基于 TextKit 2
- 支持异步渲染与增量更新
- 流式渲染(Streaming Rendering) 适配 AI 对话场景,流式渲染部分模块整体流式出现(带有渐变动画)例如公式、图片、表格、自定义视频等。
- 示例内容 18kb 文档(理论上不管多大 md 文档),首屏秒渲染。
- 基于 TextKit 2
-
全面 Markdown 语法支持
-
- 标题、列表、表格、代码块、引用、图片、嵌套模块、LaTeX 公式(包括有机化学公式)、目录点击跳转章节、自定义解析以及渲染模块等常规元素都支持
-
内置代码高亮
-
- 支持 20+ 语言(比如 Swift、Python、JavaScript 等)
-
自动目录(TOC)
-
- 自动提取标题生成可交互目录
-
高度可定制
-
- 字体、颜色、间距、主题均可配置
- 原生支持深色模式(Dark Mode)
- 字体、颜色、间距、主题均可配置
-
丰富交互能力
-
- 支持链接点击、图片预览、目录跳转事件回调
适用场景
适合用于:
- AI 聊天 / 生成式内容(边输出边渲染)
- 技术文档阅读器
- 富文本 IM 消息组件
- 博客/知识社区内容显示
- 取代老旧的 WebView 方案,实现原生渲染
技术栈概况
- 开发语言:Swift
- UI 框架:UIKit
- 核心渲染引擎:TextKit 2
- Markdown 解析:
swift-markdown
为什么值得关注?
相比基于 WebView 的渲染方案或 TextKit 1,这个组件:
✅ 性能更好
✅ 原生渲染体验更流畅
✅ 更适合流式输出和即时更新
✅ 更高可定制性,适合深度集成
适合对内容渲染体验有较高要求的场景,特别是在 AI/Chat UI 中的 Markdown 展示部分。集成了 iOS 系统 NatureLanguage 可以选择自定义的按字词句去出现等功能。依赖库只有苹果的 Markdown 解析,使用了 KaTeX 部分字体资源。
如果你正在做iOS Markdown 渲染、聊天内容展示或 AI 对话界面,这个库值得一试 👍

图片加载不出来