通过iOS中的数字控制无障碍语音

问题描述 投票:0回答:1

例如,我试图获取自定义accessibilityValue上带有小数的UIView以读出为“二十点一”,类似于语音在视频微调器上读出持续时间和关键帧值的方式在“照片”应用中编辑视频时。

默认设置将值读出为“二十点一”。如果我改用accessibilityAttributedLabel键设置accessibilitySpeechPunctuation,则其读为“二十期间一”。

view.accessibilityAttributedLabel = NSAttributedString(string: "20.1", attributes: [.accessibilitySpeechPunctuation: true])

[不求助于手动构建一个数字字符串来读出的情况,没有人知道如何用“点”而不是“点”或“句号”来读取数字吗?

ios numbers accessibility voiceover
1个回答
0
投票

知道了!使用样式为NumberFormatter.spellOut格式化数字将生成具有完整拼写值的字符串。不是我们想要的标签文本,而是我们想要的可访问性标签。

let formatter = NumberFormatter()
formatter.numberStyle = .spellOut

let label = UILabel()
label.text = formatter.string(from: 20.1)
label.accessibilityLabel = formatter.string(from: 20.1)

// prints out "twenty point one"
print(label.text)
© www.soinside.com 2019 - 2024. All rights reserved.