Есть ли способ создать собственный жест VoiceOver?

Есть ли способ создать собственный жест в iOS специально для пользователей VoiceOver?

Спасибо


person Antoni    schedule 04.04.2011    source источник


Ответы (2)


Я думаю, что это МОЖЕТ быть возможным. Приложение iOS Mail (по крайней мере, в iOS 6), кажется, содержит настраиваемые действия VoiceOver (вы можете провести вверх или вниз, чтобы включить операцию «удалить» для элемента почты в списке).

Я предполагаю (и я не проверял это), что если вы добавите рекогонизатор смахивания, только тогда, когда UIAccessibilityIsVoiceOverRunning() возвращает true.

Я еще не тестировал это.

person Michael Gray    schedule 09.09.2012
comment
Это решение. Документация даже указывает это в описании UIAccessibilityIsVoiceOverRunning: вы можете использовать эту функцию, чтобы настроить пользовательский интерфейс вашего приложения специально для пользователей VoiceOver. Например, вы можете захотеть, чтобы элементы пользовательского интерфейса, которые обычно быстро исчезают, оставались на экране для пользователей VoiceOver. Обратите внимание, что вы также можете прослушать уведомление UIAccessibilityVoiceOverStatusChanged, чтобы узнать, когда запускается и останавливается VoiceOver. - person Matthew Frederick; 09.09.2012
comment
FWIW, если в этом нет необходимости, я бы не стал добавлять и удалять распознаватель на основе статуса UIAccessibilityIsVoiceOverRunning; вместо этого я бы просто ничего не делал в методе, вызываемом распознавателем жестов, когда VoiceOver отключен. Единственная причина, по которой я бы добавил и удалил этот жест, — это то, что он будет мешать пользователям, не использующим VoiceOver. - person Matthew Frederick; 09.09.2012

Я почти уверен, что это невозможно. Тем не менее, API-интерфейсы специальных возможностей позволяют вам делать такие вещи, как озвучивание содержимого при изменении представления, так что, возможно, вы могли бы использовать это?

Вы упомянули жест специально для пользователей VoiceOver. Если пользователи VoiceOver составляют большую часть вашей аудитории, вы можете просто предоставить стандартный жест, который пользователи VoiceOver могут вызвать, дважды нажав и удерживая, чтобы передать жест, а затем выполнить сам жест. .

Например, чтобы «потянуть, чтобы обновить», пользователь VoiceOver должен дважды нажать, удерживать, а затем потянуть вниз.

person Saqib    schedule 21.04.2011