сделать UIAccessibilityTrait регулируемым игнорировать двойное нажатие (как кнопка) swift - PullRequest
1 голос
/ 18 июня 2019

У меня есть пользовательский элемент управления для увеличения и уменьшения значений.Теперь, когда я добавил поддержку озвучивания, я наткнулся на проблему.Мой customView имеет черту доступности .adjustable, и я реализовал правильные методы для увеличения и уменьшения значений.Тем не менее, голос за пользователем также может дважды нажать на это представление, чтобы активировать его.Проблема в том, что это вызывает жест, который не имеет отношения к голосу через пользователей.

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

Ответы [ 2 ]

1 голос
/ 18 июня 2019

Я закончил тем, что использовал UIAccessibility.isVoiceOverRunning, чтобы остановить любые задачи, которые будут вызваны двойным нажатием на этом конкретном элементе.

1 голос
/ 18 июня 2019

Существует два важных свойства, которые необходимо знать при двойном нажатии:

В вашем случае вы можете просто вернуть true, переопределив accessibilityActivate и, если этого недостаточно, предоставить также координату CGPoint, которая ничего не вызывает (зависит от вашего пользовательского элемента управления и его окрестности) .

В противном случае используйте метод экземпляра accessibilityElementIsFocused, чтобы узнать, можете ли вы запускать действия, как показано на этом полном примере .

...