UIPanGestureRecognizer中的Velocity和translation开始状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIPanGestureRecognizer中的Velocity和translation开始状态相关的知识,希望对你有一定的参考价值。

当发件人的状态开始时,我正在使用UIPanGestureRecognizer处理事件。在这种状态下,我测量速度和平移。我总是得到非零速度。翻译的标志通常与velocty相同(翻译是一个小的非零数字),但有时translaton等于0.为什么?

我已经在iPhone 11的IPhone 7上得到了它。

答案

这是因为平移手势识别器在检测到移动时开始识别手势。屏幕上的第一次触摸还不是平底锅,它只是一个触摸。手指必须至少移动一点才能被视为平底锅。如果它在一个方向上移动了一点点,那么速度也将朝着那个方向移动

docs说:

平移手势是连续的。当允许的最小手指数(minimumNumberOfTouches)移动到足以被视为平移时,它开始(UIGestureRecognizer.State.began)。

(强调我的。)

如果您将手指向一个方向移动,然后返回其原始位置,则平移可以为0,并且总移动足以使UIPanGestureRecognizer被视为平移。

以上是关于UIPanGestureRecognizer中的Velocity和translation开始状态的主要内容,如果未能解决你的问题,请参考以下文章

部分标题视图中的 UIPanGestureRecognizer 影响 UITableViewCell

SKScene 中的 UIPanGestureRecognizer

UIPanGestureRecognizer 状态结束后动画中的小问题

游乐场中的 UIPanGestureRecognizer

在UIPanGestureRecognizer中的框架上的UIView.animate

UIPanGestureRecognizer中的Velocity和translation开始状态