我想让自定义键盘像iOS软件键盘一样执行可访问性。按下按钮会向UITextField添加一个字母时,VoiceOver应以“添加的字符音”说出该字母。当按钮按下删除UITextField中的字母时,VoiceOver应以“删除的字符音”说出该字母。
以下是我的尝试:
[[self textField] insertText:@"a"];
。[[self textField] deleteBackward];
。我也尝试了同样的事情,将按钮移动到设置为textField的inputView的UIView。
可以在文本字段中正确添加和删除字符,但VoiceOver不会说出这些字符。我怎样才能做到这一点?
修改
硬件键盘说话正确。只有自定义软件键盘才能正常说话。
答案 0 :(得分:0)
可能需要为整个设备启用Voice Over才能使其正常工作。您可以在辅助功能中更改此设置。如果已经在设备上启用了语音播放,我不知道该怎么办。
答案 1 :(得分:0)
我注意到,要获得“语音内容”»“语音屏幕”也要说出键盘按键,我必须将.keyboardKey
添加到按钮accessibilityTraits
上,例如在Swift中:
button.accessibilityTraits = [.keyboardKey]
或者在Objective-C中:
[button setAccessibilityTraits:UIAccessibilityTraitKeyboardKey];
而且,显然,如果您的按钮是图像,则也要为其添加显式accessibilityLabel
。