我是辅助功能新手。我的应用程序中的问题是应用程序没有正确说出某些特殊字符(。 - ),例如
-0.7拼写为7
答案 0 :(得分:6)
您可以使用数字格式化程序和“拼写”样式为这些字符串创建更合适的accessibilityLabel。然后,VoiceOver将读取该标签的该字符串,但在某处的UI中不可见。
NSNumber *number = @(-0.7);
NSNumberFormatter *formatter = [NSNumberFormatter new];
formatter.numberStyle = NSNumberFormatterSpellOutStyle;
formatter.locale = [NSLocale currentLocale];
NSString *spelledOutNumber = [formatter stringFromNumber:number];
// set that as the accessibility label to be read instead of the number
yourLabel.accessibilityLabel = spelledOutNumber;
这也会为您提供一个适用于不同语言环境的解决方案(下面的一些示例输出):
en_US -> minus zero point seven
de_DE -> minus null Komma sieben
fr_FR -> moins zéro virgule sept
ja_JP -> マイナス〇・七
es_ES -> menos cero coma siete
ru_RU -> минус ноль запятая семь
sv_SE -> minus noll komma sju