SwiftUI-Markdown渲染

介绍

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

相关推荐
懋学的前端攻城狮12 小时前
数据持久化与缓存策略:在离线与在线间架起桥梁
ios·swift
2501_9159184117 小时前
使用快蝎IDE进行iOS开发:从项目创建到真机调试全流程
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
Wenzar_19 小时前
# 发散创新:SwiftUI 中状态管理的深度实践与重构艺术 在 SwiftUI 的世界里,**状态驱动 UI 是核心哲学**。但随
java·python·ui·重构·swiftui
大熊猫侯佩2 天前
GeometryReader 生存指南(下集):与恶魔共舞——陷阱、禁忌与最终救赎
swiftui·performance·layout·frame·stack·geometryreader·preferencekey
大熊猫侯佩2 天前
别被系统绑架:SwiftUI List 替换背后的底层逻辑
swiftui·swift·apple
花间相见3 天前
【MS-Swift实战】:LoRA原理+核心参数(r/alpha)调参指南(适配Qwen-1.8B医疗场景)
开发语言·r语言·swift
2501_915918413 天前
快蝎iOS开发IDE:免Xcode开发,支持Swift/Flutter项目
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
我现在不喜欢coding3 天前
Swift 核心协议揭秘:从 Sequence 到 Collection,你离标准库设计者只差这一步
ios·swift
2501_915909064 天前
Xcode从入门到精通:全面解析iOS开发IDE的核心功能与实际应用指南
ide·vscode·ios·个人开发·xcode·swift·敏捷流程