使用UIPanGestureRecognizer将视图从一个位置拖动到有限位置

时间:2016-07-27 16:04:36

标签: ios swift uipangesturerecognizer

在我的应用程序中,我有一个UIView。我想要一些功能,以便用户可以将视图从原始位置拖动到特定的有限位置,因此我使用了** UIPanGestureRecognizer Class **和{ {1}}条件我正在改变视图的坐标。我可以在缓慢移动时将视图拖动到有限的位置但是问题是如果用户非常快速地向上或向下拖动视图,那么视图可以拉动超出我在Y位置的限制

gestureRecognizer.state == .Changed

自从过去三天以来,我一直在努力解决这个问题。请给我一些建议 提前致谢

1 个答案:

答案 0 :(得分:1)

使用min功能确定上限

let newPosition = topbaseConstrant.constant + panGestureRecognizer.translationInView(nil).y
topbaseConstrant.constant = min(upperLimit, newPosition)

如果您快速拖动并超越约束,min函数将始终将该上限作为新位置返回。