Прямое взаимодействие с Voice Over? - PullRequest
3 голосов
/ 18 января 2012

Мое приложение содержит одно касание с 3 типами: 1 касание пальца, 2 касание пальца и 3 касание пальца и некоторые жесты смахивания.

Но когда голос за кадром включен, они не могут правильно определить касание.*

Я пытался

if (UIAccessibilityIsVoiceOverRunning()) {

UIView *interactionView = [[UIView alloc]init];

[self.view addSubview:interactionView];

[self.view bringSubviewToFront:interactionView];

[interactionView setAccessibilityTraits:UIAccessibilityTraitAllowsDirectInteraction]; }

Но он не работает с краном

1 Ответ

4 голосов
/ 09 августа 2012

Чтобы иметь возможность обрабатывать касания (touchesBegan:withEvent: и т. Д.) С включенным VoiceOver, необходимо установить две переменные UIView:

    view.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction;
    view.isAccessibilityElement = YES;

Вы не установили последнее.Однако, имейте в виду, что это отключает некоторые жесты по умолчанию, сделанные над этим представлением.Если вы не хотите этого и просто нуждаетесь в базовых жестах вместо полного контроля касаний, попробуйте добавить в представление распознаватель жестов (addGestureRecognizer:), например UITapGestureRecognizer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...