介紹
在現代 App 中,富文本展示已成為不可或缺的功能。無論是顯示用戶評論、展示文檔內容,還是渲染應用說明,均需要一種簡潔而強大的方式來處理文本格式。SwiftUI 在 iOS 15 中引入了對 Markdown 的原生支持,讓開發者能夠輕松地在應用中渲染格式化文本。
語法
SwiftUI 主要支持以下內聯 Markdown 樣式。
- 加粗文本。
Text("**加粗**")
- 斜體文本。
Text("*斜體*")
- 刪除線。
Text("~~刪除線~~")
- 內聯代碼。
Text("`Hello World`")
- 鏈接。
Text("[Apple](https://www.apple.com/)")
.accentColor(.orange) // 自定義鏈接顏色
案例
- 代碼。
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 功能支持。