I want to allow user to drag UIView inside a limited area of its super view. Trying the following simple code:
func handlePanForImage(recognizer: UIPanGestur
As explain in some other posts, I needed first to compute the new location, then check if the new location is inside the bounds, and only if it is update the view's coordinates:
let translation = recognizer.translationInView(self)
let newPos = CGPoint(x:recognizer.view!.center.x + translation.x, y:recognizer.view!.center.y + translation.y)
if insideDraggableArea(newPos) {
myView.center = newPos
recognizer.setTranslation(CGPointZero, inView: self)
}
It's a very simple function that just checks if the given point is inside some area on the screen you define:
static func insideDraggableArea(point : CGPoint) -> Bool {
return point.x > 50 && point.x < 200 &&
point.y > 20 && point.y < 400
}