2013-12-10 1 views
4

У меня есть таблица с ячейками, которые пользователь может пронести, чтобы отметить их «завершен». Я пытаюсь сделать это доступным с помощью VoiceOver, реализовав метод accessbilityScroll.Как получить элемент, сфокусированный в данный момент при использовании VoiceOver в iOS?

Это прекрасно работает, но я не могу понять, какая ячейка имеет фокус, когда пользователь прокручивает.

Я только нахожу информацию о том, как изменить фокус.

ответ

10

Хе-хе, хорошо. Я просто понял это.

Существует протокол для этого. Его называют UIAccessibilityFocus

Метод: accessibilityElementDidBecomeFocused:

Ну, я оставлю этот вопрос здесь, чтобы кто-либо другой, что там борется с этим.

+0

Я также создал категорию на UIView, и переопределить функцию там. Это обеспечивает хороший глобальный обратный вызов, который получает каждый раз при изменении состояния. См. Мой ответ здесь http://stackoverflow.com/a/40914451/1532838 –

1

Ваша программа также может указать, где «фокус» VoiceOver (объект, с которым он имеет дело), ​​и когда «фокус» входит или покидает какой-либо объект.

For Focus Information click here

– accessibilityElementDidBecomeFocused 

– accessibilityElementDidLoseFocus 

– accessibilityElementIsFocused 
+0

Да, это часть протокола UIAccessibilityFocus, о котором я упоминал в своем собственном ответе. Разве ваш ответ такой же, как у меня? – bobmoff