Вопрос

Как упражнение с доступностью и личной проблемой для себя я решил, что я хотел бы написать относительно простое приложение.

Приложение покажет MKMapView из Соединенных Штатов и когда вы нажимаете где угодно на нем, он использует MKReverseGeocoder Чтобы показать вам местность, штат и страну, где вы постучали. Это работает нормально, хотя я должен угонять сенсорные события, добавив WildcardGestureRecognizer к тому MKMapView. Отказ Это отлично работает с VoiceOver выключен.

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

Для записи, WildcardGestureRecognizer Я использую, найдено здесь:Как перехватить касание событий на объектах mkmapview или uiwebview?

Это было полезно?

Решение

Проблема в том, что при включении VoiceOver, сенсорные события заблокированы системой. Чтобы доказать это, поместите след в вашей функции TouchesBegan. Это должно огонь хорошо, пока не включишь голос за голос.

Маленький кличик звучит, когда вы слышите, когда вы дважды нажмите жест голосового завода. VoiceOver имеет свой собственный набор жестов, но вы можете перевернуть жесты Voice Woysover с двойным удержанием.

Например, Swiping Down не прокручивает страницу с VoiceOver. Но если вы дважды нажмите, подождите, пока нажмите Clicky Sound, а затем прокрутите вниз, он будет прокручивать.

Другие советы

IOS 5.0 добавил эту возможность - просто установить Uiacccessibilitytraitallowsdirectiveraction. Черта по мнению:

mapView.accessibilityTraits |= UIAccessibilityTraitAllowsDirectInteraction;

(Если это не работает, вы можете вместо этого нужно подклассьте представление на карте и переопределить метод аксесштабируема)

Первое прикосновение к этому элементу все равно сделает звук «щелчка» и объявляет название вида и т. Д., Но все последующие прикосновения будут прямые взаимодействия - то есть сенсорные события будут переданы на вид карты.

Пример этого в использовании в одном из приложений iOS Apple - это GarageBand - вид на фортепиано имеет эту черту, чтобы слепой человек мог воспроизводить ключи на клавиатуре для фортепиано, непосредственно касаясь их.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top