我是辅助功能的新手。我的应用程序中的问题是某些特殊字符 (.-) 没有被应用程序正确读出,例如
-0.7 拼写为 7
最佳答案
您可以使用数字格式化程序和“拼写”样式来为这些字符串创建更合适的 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
关于ios - iOS 特殊字符的辅助功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20609316/