アクセシビリティに関して、カスタム キーボードを iOS ソフトウェア キーボードのように動作させたいと考えています。ボタンを押して UITextField に文字を追加すると、文字は「追加された文字のトーン」で VoiceOver によって読み上げられる必要があります。ボタンを押して UITextField から文字を削除すると、その文字は「削除された文字のトーン」で VoiceOver によって読み上げられる必要があります。
これが私が試みたものです:
- ストーリーボードのビュー コントローラーに UITextField を作成しました。
- ビュー コントローラーのストーリーボードに、「Type」と「Backspace」というラベルの付いた 2 つの UIButton を作成しました。
- 両方の UIButton のアクセシビリティ特性をキーボード キーに設定します。
- ストーリーボード UITextField を IBOutlet UITextField インスタンス、textField にフックしました。
- ストーリーボードの「Type」UIButton を IBAction、-type にフックしました。
- ストーリーボードの「Backspace」UIButton を IBAction、-backspace にフックしました。
- -type as: を実装しまし
[[self textField] insertText:@"a"];
た。 - -backspace as: を実装しました
[[self textField] deleteBackward];
。 - textField をファーストレスポンダーにしました。
私も同じことを試し、ボタンをtextFieldのinputViewとして設定されたUIViewに移動しました。
文字はテキスト フィールドに適切に追加および削除されますが、VoiceOver によって読み上げられません。どうすればこれを機能させることができますか?
編集:
ハードウェア キーボードは正しく話します。本来のように話さないのは、カスタム ソフトウェア キーボードだけです。