Как я могу зафиксировать направление панорамирования с помощью UIPanGestureRecognizer?

Хорошо, поэтому я рассматривал практически все возможные варианты захвата жестов 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);
}
  }

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

58
задан Brandon B. 3 March 2011 в 22:50
поделиться