2

我在 iOS 应用程序中分配给accessibilityLabel 的一些文本包含“混合语言”。

例如,在德语中,文本将是“Bier und guter Sound”。用德语 VoiceOver 语言说的“声音”这个词没有意义(它应该说“saund”,但听起来像“sund”)。

有没有办法对有关单词语言的信息进行配音?

4

1 回答 1

5

是的,将一个属性字符串分配给accessibilityLabel(即使它是 String 类型,它也会接受 AttributedString),并用于UIAccessibilitySpeechAttributeLanguage为字符串中与 UI 语言不同的部分设置语言信息。例如,在您的情况下,您可以将 range (start=15, length=5) 设置为具有UIAccessibilitySpeechAttributeLanguage值“en”(或者如果这不起作用,请尝试“en-US”或“en_US”,现在不确定是哪一个将接受,它应该是根据文档的 BCP 47 语言代码)。

如果您使用的是 Swift,那么它的类型安全性将不允许您分配to类型的AttributedString属性,您可以使用. 有点破解(或解决方法),但有效。accessibilityLabelStringlabel.setValue(attributedString, forKey: "accessibilityLabel")

于 2016-12-03T14:27:20.670 回答