Сенсорные координаты от UIPanGestureRecognizer - PullRequest
10 голосов
/ 26 августа 2011

Можно ли получить абсолютные координаты касания из [UIPanGestureRecognizer translationInView]?Я работаю над приложением для iPad и много искал, чтобы получить значения координат касания от UIPanGestureRecognizer!

Я также пытался сместить, используя значения, которые мы получаем из transaltionInView, но на самом деле я не в состоянии понять математику, стоящую за ним ...

Любые предложения, ребята?

Ravi

Ответы [ 2 ]

17 голосов
/ 26 августа 2011

translationInView - дельта-изменение жеста. Если вы передвинете палец влево на 20 пунктов, вы получите (-20.0, 0.0), в этом смысле оно уже "абсолютное".

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

Кроме того, имейте в виду, что если вам нужен реальный абсолют, вы можете передать nil через аргументы, и он вернет его относительно окна (он же «абсолют»)

И, если вам нужно выполнить логику с другими видами, вы можете преобразовать координаты из одного вида в другой с помощью методов экземпляра UIView: convertRect:fromView:, convertRect:toView:, convertPoint:fromView:, convertPoint:toView:. Эти методы также принимают nil в качестве аргумента представления, означающего «абсолютное» для окна.

0 голосов
/ 09 октября 2015

Вот более простой способ:

gesture.locationInView(myView)

Возвращает точку, вычисленную как местоположение в данном виде жеста, представленного приемом как CGPoint.

...