iOS 15 beta 4:带有 Markdown 的 AttributedString 未在 SwiftUI 中的文本中呈现?

问题描述

我认为这是 iOS 15 beta 1 或 2 的错误,但从 beta 4 开始我仍然看到这种行为,所以也许我做错了什么: 文本应该使用 Markdown 呈现 AttributedStrings。当将直接字符串文字传递到 Text 时,它似乎可以正确呈现,但当 AttributedString 是变量时则不能正确呈现。我在做一些非常愚蠢的事情吗?

local key

enter image description here

解决方法

如果您将 Markdown 直接传递给 Text.init(),SwiftUI 会自动将其转换为 AttributedString

但是,要将 Markdown 字符串转换为 AttributedString,您需要使用 explicit AttributedString(markdown:options:baseURL:) initialiser。例如:

var text = try! AttributedString(markdown: "**Hello**,`world`! Visit our [website](https://www.capitalone.com).”)

请注意,如果无法正确进行转换,则此初始化程序将抛出。我在这里使用 try! 是因为您的示例 Markdown 肯定会转换,但根据 Markdown 文本的来源,您可能希望更智能地处理抛出的错误。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...