Невозможно получить расстояние от жеста смахивания, потому что SwipeGesture запускает метод, при котором вы можете получить доступ к местоположению ровно один раз, когда жест завершен.
Возможно, вы хотите использовать UIPanGestureRecognizer.
Если вы можете использовать жест панорамирования, вы сохраните начальную точку панорамирования, а если панорама закончилась, рассчитайте расстояние.
- (void)panGesture:(UIPanGestureRecognizer *)sender {
if (sender.state == UIGestureRecognizerStateBegan) {
startLocation = [sender locationInView:self.view];
}
else if (sender.state == UIGestureRecognizerStateEnded) {
CGPoint stopLocation = [sender locationInView:self.view];
CGFloat dx = stopLocation.x - startLocation.x;
CGFloat dy = stopLocation.y - startLocation.y;
CGFloat distance = sqrt(dx*dx + dy*dy );
NSLog(@"Distance: %f", distance);
}
}