我想在可访问性方面使自定义键盘像iOS软件键盘一样执行 . 按下按钮会向UITextField添加一个字母时,VoiceOver应以“添加的字符音”说出该字母 . 当按钮按下删除UITextField中的字母时,VoiceOver应在“删除的字符音”中说出该字母 .
这是我尝试的:
-
在故事板中的视图控制器中创建了一个UITextField .
-
在故事板中的视图控制器中创建了两个标记为“类型”和“退格”的UIButtons .
-
将UIButtons的辅助功能特征设置为键盘密钥 .
-
将故事板UITextField连接到IBOutlet UITextField实例textField .
-
将故事板“输入”UIButton连接到IBAction,类型 .
-
将故事板'退格'UIButton连接到IBAction,-backspace .
-
已实施-type为:
[[self textField] insertText:@"a"];
. -
已实现-backspace为:
[[self textField] deleteBackward];
. -
使textField成为第一个响应者 .
我也试过同样的事情,将按钮移动到设置为textField的inputView的UIView中 .
字符已正确添加到文本字段或从文本字段中删除,但VoiceOver不会说出这些字符 . 我怎样才能做到这一点?
EDIT:
硬件键盘说话正确 . 只有自定义软件键盘才能正常说话 .
1 回答
可能需要为整个设备启用Voice Over才能使其正常工作 . 您可以在辅助功能中更改此设置 . 如果已经在设备上启用了语音播放,我不知道该怎么办 .