Swift - абсолютное местоположение с VoiceOver - PullRequest
1 голос
/ 13 марта 2020

Контекст: я изучаю новые режимы взаимодействия для людей с нарушениями зрения на устройствах iOS. Я пишу некоторый код, который запускается, когда VoiceOver активен.

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

Пример: если вид находится в нижней правой части экрана, пользователь выбирает его (т. Е. Передает ему фокус VoiceOver), а затем дважды нажимает и удерживает в верхнем левом углу. , Жест панорамирования срабатывает, но обозначение gestLocation относится к правой нижней части экрана, а не к верхнему левому.

Вопрос: как получить правильную позицию касания (т.е. положение пальца на экране) при включенном VoiceOver?

@objc func touch(_ gesture: UIPanGestureRecognizer){
        let touch = gesture.location(in: myView)
        print(touch)
    }
...