我有一个UITextField供用户输入他们的电话号码。该字段的占位符文本是(XXX)XXX-XXXX。对于有视力的用户来说,这很有效,但是当VoiceOver打开时,读出所有X的声音听起来很糟糕。
我将accessibilityLabel设置为“电话号码”,并将accessibilityHint设置为“需要10位电话号码”。现在,VoiceOver将读取标签,然后是占位符文本,然后是提示。是否可以将VoiceOver设置为忽略占位符文本?
答案 0 :(得分:0)
我可以通过删除标签然后在启用VoiceOver时更改占位符文本来解决此问题:
if UIAccessibilityIsVoiceOverRunning() {
phoneNumberField.placeholder = "Phone Number"
}
现在,它将只读取占位符文本,然后读取辅助功能提示。我觉得这有点像一个hacky解决方案。因此,如果有一种方法可以让VoiceOver忽略某些信息,那就更理想了。