Хорошо, поэтому я рассматривал практически все возможные варианты захвата жестов multi-touch, и, наконец, завершил полный круг и вернулся к UIPanGestureRecognizer.
Функциональность, которую я хочу действительно довольно просто. Я установил жест панорамирования двумя пальцами, и я хочу иметь возможность перемещаться по некоторым изображениям в зависимости от того, на сколько пикселей я перемещаю. У меня все сработало нормально, но я хочу иметь возможность снимать, если жест панорамирования ОТМЕНЕН.
Есть ли встроенный способ, который я просто не вижу, чтобы обнаружить возвращение жеста? Должен ли я сохранить свою исходную начальную точку, затем отслеживать конечную точку, затем посмотреть, куда они переместятся после этого, и установить, если она меньше начальной конечной точки, а затем соответственно изменить направление? Я вижу, что это работает, но я надеюсь, что есть более элегантное решение !!
Спасибо
EDIT:
Вот метод, который запускает распознаватель. Это немного похоже на уловку, но это работает:
-(void) throttle:(UIGestureRecognizer *) recognize{
throttleCounter ++;
if(throttleCounter == 6){
throttleCounter = 0;
[self nextPic:nil];
}
UIPanGestureRecognizer *panGesture = (UIPanGestureRecognizer *) recognize;
UIView *view = recognize.view;
if(panGesture.state == UIGestureRecognizerStateBegan){
CGPoint translation = [panGesture translationInView:view.superview];
NSLog(@"X: %f, Y:%f", translation.x, translation.y);
}else if(panGesture.state == UIGestureRecognizerStateEnded){
CGPoint translation = [panGesture translationInView:view.superview];
NSLog(@"X: %f, Y:%f", translation.x, translation.y);
}
}
Я только что дошел до того момента, когда я собираюсь начать пытаться отслеживать различия между значениями ... чтобы попытаться определить, в каком направлении они перемещаются