SwiftUI中如何修改Text组件渲染Markdown链接的默认颜色
有两种常用方案可以修改这类Markdown链接的默认颜色:
- 方案1:全局/单Text组件统一修改链接颜色
针对所有不需要单独区分链接颜色的场景,直接使用tint()修饰符即可生效,示例代码如下:
如果你需要修改整个App范围内的所有Markdown链接默认颜色,直接在项目的根视图上添加Text(.init("[Link Example](https://www.google.es/)")) .tint(.orange) // 替换为你需要的颜色值tint()修饰符即可全局生效。 - 方案2:为单个链接单独设置自定义颜色
如果需要给同一段文本里的不同链接设置不同颜色,可以手动构造AttributedString来单独指定链接的颜色,示例代码如下:var linkStr = AttributedString("Link Example") linkStr.link = URL(string: "https://www.google.es/") linkStr.foregroundColor = .purple // 单独指定该链接的颜色 Text(linkStr)
补充说明:Text组件本身的foregroundColor()修饰符只会作用于普通文本,不会覆盖链接的颜色,链接颜色仅由tint()或者AttributedString内的属性控制。
内容的提问来源于stack exchange,提问作者Iker Solozabal
相关产品推荐
相关产品推荐

