Сенсорные координаты от UIPanGestureRecognizer

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

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

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

Рави


person Ravi    schedule 25.08.2011    source источник


Ответы (2)


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

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

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

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

person Can    schedule 25.08.2011
comment
Потрясающий! Я совершенно упустил момент, что эти жесты получены из UIGestureRecognizer! Еще раз, большое спасибо! - person Ravi; 26.08.2011
comment
@Can Согласно документам translationInView: дает общее движение, а не дельта-движение. - person Jonathan.; 14.10.2012
comment
@Джонатан. С опозданием на год, но я это исправил. - person Can; 15.07.2013

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

gesture.locationInView(myView)

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

person Esqarrouth    schedule 09.10.2015
comment
Можете ли вы подробнее рассказать о том, что это делает и чем это отличается от того, что уже пробовал ОП? Возвращает ли он CGPoint? - person sgress454; 10.10.2015