介绍
在现代 App 中,富文本展示已成为不可或缺的功能。无论是显示用户评论、展示文档内容,还是渲染应用说明,均需要一种简洁而强大的方式来处理文本格式。SwiftUI 在 iOS 15 中引入了对 Markdown 的原生支持,让开发者能够轻松地在应用中渲染格式化文本。
语法
SwiftUI 主要支持以下内联 Markdown 样式。
- 加粗文本。
swift
Text("**加粗**")
- 斜体文本。
swift
Text("*斜体*")
- 删除线。
swift
Text("~~删除线~~")
- 内联代码。
swift
Text("`Hello World`")
- 链接。
swift
Text("[Apple](https://www.apple.com/)")
.accentColor(.orange) // 自定义链接颜色
案例
- 代码。
swift
import SwiftUI
struct ContentView: View {
let markdownString: String = "**WWDC21** ~~SwiftUI~~"
let markdownStringKey: LocalizedStringKey = "**WWDC21** ~~SwiftUI~~"
var body: some View {
VStack(spacing: 20) {
// 直接在Text中使用Markdown语法
Text("**WWDC21 SwiftUI**")
Text("*WWDC21 SwiftUI*")
Text("`print('WWDC21 SwiftUI')`")
Text("~~WWDC21 SwiftUI~~")
// 链接支持
Text("[WWDC21](https://developer.apple.com/wwdc21/)")
.accentColor(.orange)
// String
Text(.init(markdownString))
// LocalizedStringKey
Text(markdownStringKey)
}
.padding()
}
}
- 效果。

总结
SwiftUI 对 Markdown 的原生支持,使开发者可以更专注于内容与用户体验,而无需借助额外的富文本库。虽然当前的 Markdown 功能仍有一定局限,但对于大多数日常应用场景而言,已经足够实用。未来随着 SwiftUI 的不断演进,我们有望看到更丰富的 Markdown 功能支持。