Заставьте VoiceOver объявить набранные / удаленные символы для UIKeyInput
Я пытаюсь выяснить, как сделать класс не-UITextField, который соответствует протоколу UIKeyInput, объявляет напечатанные и удаленные символы с VoiceOver, как это делает UITextField. Он должен произносить каждый символ, который набирается чуть более низким тоном, и каждый символ, который удаляется гораздо более низким тоном.
Я не хочу использовать UITextField, потому что:
- Пользователь не должен быть в состоянии выбрать текст.
- Пользователь не должен иметь возможность изменять положение "курсора".
- Не должно быть автокоррекции.
- Текстовое поле не должно объявлять: "Текстовое поле редактируется".
- Я не хочу никаких других побочных эффектов UITextField.
- Текстовое поле представляет собой пользовательский вид.
По сути, я ищу то, что делает вкладка "Клавиатура" в приложении "Телефон" на iPhone. Я попытался согласовать класс с протоколом UITextInput, но это не имело значения.
1 ответ
Как оказалось, я не правильно реализовал методы протокола UITextInput.
Методы, которые влияют на произнесение набранных / удаленных букв:
-textInRange:
-textRangeFromPosition: toPosition:
Свойства, которые влияют на произнесение набранных / удаленных букв:
selectedTextRange
beginningOfDocument
EndOfDocument