文本框禁用画外音

Textfield disabled voiceover

画外音一直说 "Double Tap to Edit",即使在文本字段被禁用时也是如此。有没有办法改变它?是否设置为我可以手动更改的 accessibilityHint?

这不是提示。这来自可访问性框架本身。我相信它很可能来自 VoiceOver,计算出该框是一个可编辑的文本字段。您应该做的是将 UIAccessibilityTraitNotEnabled 设置为开。然后它至少也会被宣布为暗淡的。如果启用此特性后,您仍然听到 "Double tap to edit" 公告,您还应该 post 苹果开发者网站上的一个错误。我会检查自己,但我把我的 mac 笔记本电脑留在了办公室,只有我的 windows machine 可用:(。

当我使用 Interface Builder 创建 UITextField 时,VoiceOver 读出 "text field, double tap to edit"。 但是,我无法根据以下使用 Interface Builder 的操作重现您描述的行为:

  • 取消选中 User Ineraction Enabled:VoiceOVer 读出 "dimmed - text field".
  • 取消勾选Accessibility Enabled:VoiceOver 根本不关注 UITextField。

我还以编程方式禁用了 UITextField,如下所示:

yourTextFieldOutlet.isAccessibilityElement = false

...并且 VoiceOver 也不关注 UITextField。

除非我误解了表达式 "disable the text field"(不再是可访问的元素),否则我建议在 Interface Builder 中取消勾选 Accessibility Enabled 或复制上面的代码片段 使你的 UITextField 对 VoiceOver 不可见

现在,如果你想阻止实现你的 UITextField 仍然必须由 VoiceOVer 解释,取消勾选 User Ineraction Enabled 或以编程方式将其特征更改为 UIAccessibilityTraitNotEnabled 正如 ChrisCM 建议的那样。