Заставьте VoiceOver объявить набранные / удаленные символы для UIKeyInput

Я пытаюсь выяснить, как сделать класс не-UITextField, который соответствует протоколу UIKeyInput, объявляет напечатанные и удаленные символы с VoiceOver, как это делает UITextField. Он должен произносить каждый символ, который набирается чуть более низким тоном, и каждый символ, который удаляется гораздо более низким тоном.

Я не хочу использовать UITextField, потому что:

  1. Пользователь не должен быть в состоянии выбрать текст.
  2. Пользователь не должен иметь возможность изменять положение "курсора".
  3. Не должно быть автокоррекции.
  4. Текстовое поле не должно объявлять: "Текстовое поле редактируется".
  5. Я не хочу никаких других побочных эффектов UITextField.
  6. Текстовое поле представляет собой пользовательский вид.

По сути, я ищу то, что делает вкладка "Клавиатура" в приложении "Телефон" на iPhone. Я попытался согласовать класс с протоколом UITextInput, но это не имело значения.

1 ответ

Решение

Как оказалось, я не правильно реализовал методы протокола UITextInput.

Методы, которые влияют на произнесение набранных / удаленных букв:
-textInRange:
-textRangeFromPosition: toPosition:

Свойства, которые влияют на произнесение набранных / удаленных букв:
selectedTextRange
beginningOfDocument
EndOfDocument

Другие вопросы по тегам