4

我的屏幕上有一个区域,我想在其上识别长按。我使用 UILongPressGestureRecognizer。

一旦发生长按事件,我会显示一个自定义 UIView,它有一个touchesMoved方法,将其添加为子视图。这个自定义 UIView 被添加到长按事件发生的中心,它就在我的手指下。

问题:如果我在长按后一直按住手指,touchesMoved则不会调用自定义 UIView 上的。只有当我抬起手指并再次触摸时,才能touchesMoved识别该方法。

任何可能的解决方案?我认为问题在于,当触摸开始时,它起源于底层视图。即使我在层次结构顶部添加了一个新的 UIView 并将我的手指移到它上面,它也无法识别,即touchesMoved没有被调用,因为在触摸开始后视图已经进入层次结构。

我已经尝试了一些方法来取消长按手势识别器,但似乎没有任何效果。谢谢。

4

0 回答 0