public void OnEndDrag(PointerEventData eventData) { state = GestureRecognizerState.Ended; float deltaX = eventData.position.x - eventData.pressPosition.x; float deltaY = eventData.position.y - eventData.pressPosition.y; float absX = Math.Abs (deltaX); float absY = Math.Abs (deltaY); if (absX > absY) { if (deltaX > 0) { direction = SwipeGestureRecognizerDirection.Right; } else { direction = SwipeGestureRecognizerDirection.Left; } } else { if (deltaY > 0) { direction = SwipeGestureRecognizerDirection.Up; } else { direction = SwipeGestureRecognizerDirection.Down; } } if (HandleGesture != null) { HandleGesture(this); } state = GestureRecognizerState.Possible; }