SwiftUI-Markdown渲染

介紹

在現代 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 功能支持。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容