UIView沿Y轴平移手势

时间:2018-05-22 08:09:44

标签: iphone swift uiview uigesturerecognizer gesture

我有一个UIView,我可以沿Y轴拖放,捕捉到2个位置中的1个。问题是我必须将它拖到Y轴上的某个点上才能使它卡入到位。当你试图快速滑动但是不能使它超过特定的Y轴并且它会快速回到起始位置时,这会很笨拙。

我希望的目标是在发布UIView时根据用户滑动的方向将其分成两个位置中的一个。

null

正如您所看到的,halfWayPoint是视图必须高于或低于的点,以确定它捕捉到的位置。这是无效的,我想这取决于用户拖动视图的方向(向上或向下)。

1 个答案:

答案 0 :(得分:0)

我建议您使用UIPanGestureRecognizers velicoty(in:)方法。 它为您提供滑动的速度(以每秒点数为单位)。

如果你只是将它添加到currentY(最好用一些常量缩放),你会得到那种闪亮的感觉,手势会更自然。

只需更换 let currentY = self.frame.minYlet currentY = self.frame.minY + recognizer.velocity(in: nil).y * someConstant someConstant并与filter一起玩,直到您得到您想要的感觉。

相关问题