2013-04-29 2 views
1

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

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

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

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

+1

чтобы выяснить, действительно ли вы реализовали методы протокола UITextInput и вызываете 'inputDelegate' в правильных местах? По крайней мере, согласно видеоролику WWDC 2012 «Доступность для iOS», это должно сделать трюк для пользовательских текстовых представлений в iOS 6. –

+0

Вы верны. Я неправильно реализовал методы протокола UITextInput. – Endersstocker

ответ

2

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

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

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