我的屏幕上有一个区域,我想在其上识别长按。我使用 UILongPressGestureRecognizer。
一旦发生长按事件,我会显示一个自定义 UIView,它有一个touchesMoved
方法,将其添加为子视图。这个自定义 UIView 被添加到长按事件发生的中心,它就在我的手指下。
问题:如果我在长按后一直按住手指,touchesMoved
则不会调用自定义 UIView 上的。只有当我抬起手指并再次触摸时,才能touchesMoved
识别该方法。
任何可能的解决方案?我认为问题在于,当触摸开始时,它起源于底层视图。即使我在层次结构顶部添加了一个新的 UIView 并将我的手指移到它上面,它也无法识别,即touchesMoved
没有被调用,因为在触摸开始后视图已经进入层次结构。
我已经尝试了一些方法来取消长按手势识别器,但似乎没有任何效果。谢谢。