iOS中的可访问自定义键盘

End*_*ker 5 accessibility uitextfield ios voiceover uiaccessibility

关于可访问性,我想使自定义键盘的性能类似于iOS软件键盘。当按下按钮将一个字母添加到UITextField时,VoiceOver应该在“添加的字符音”中说出该字母。当按下按钮从UITextField中删除字母时,VoiceOver应该以“已删除的字符音”说出该字母。

这是我尝试的:

  1. 在情节提要中的视图控制器中创建了一个UITextField。
  2. 在情节提要中的视图控制器中创建了两个分别标记为“类型”和“退格”的UIButton。
  3. 将两个UIButton的可访问性特征都设置为“键盘键”。
  4. 将情节提要UITextField连接到IBOutlet UITextField实例textField。
  5. 将情节提要“类型” UIButton挂钩到IBAction -type。
  6. 将情节提要“ Backspace” UIButton挂接到IBAction -backspace。
  7. 实现类型为:[[self textField] insertText:@"a"];
  8. 将-backspace实现为:[[self textField] deleteBackward];
  9. 使textField成为第一响应者。

我也尝试过同样的事情,将按钮移到设置为textField的inputView的UIView中。

字符已正确添加到文本字段中或从文本字段中删除,但是VoiceOver不会说这些字符。我该如何进行这项工作?

编辑:
硬件键盘可以正确地说。只是自定义软件键盘无法正常显示。

cha*_*eyh -1

可能需要为整个设备启用 Voice Over 才能正常工作。您可以在辅助功能中更改此设置。我不确定如果设备上已启用语音功能该怎么办。