我添加了一个UIView
依赖于 TouchesMoved: 拖动触摸的事件。在同一个视图控制器中已经存在长按、点击、旋转和捏合手势识别器。我遇到了视图接收touchesBegan:
和touchesEnded:
事件,但没有移动的问题。
我的 touchesMoved 问题不是由手势识别器取消视图中的触摸引起的吗?我还涉及到滚动视图。这可能是罪魁祸首吗?
如果我无法使用 touchesMoved,这是最接近实现“触摸和移动”功能的手势。它是点击还是平移手势识别器?
谢谢您的帮助!
我添加了一个UIView
依赖于 TouchesMoved: 拖动触摸的事件。在同一个视图控制器中已经存在长按、点击、旋转和捏合手势识别器。我遇到了视图接收touchesBegan:
和touchesEnded:
事件,但没有移动的问题。
我的 touchesMoved 问题不是由手势识别器取消视图中的触摸引起的吗?我还涉及到滚动视图。这可能是罪魁祸首吗?
如果我无法使用 touchesMoved,这是最接近实现“触摸和移动”功能的手势。它是点击还是平移手势识别器?
谢谢您的帮助!
默认情况下,手势在它们处于活动状态时会取消它们链接到的对象中的触摸。您可以通过将cancelsTouchesInView属性设置为 来停止此行为NO
。
将原始触摸处理与手势识别器混合可能会产生奇怪的行为,至少我无法让它稳定地工作,它有点不稳定。在您的情况下,您可能只想将拖动手势识别器 (UIPanGestureRecognizer) 添加到视图以处理拖动。
您可以通过查看 UIGestureRecognizerDelegate 的 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: 来控制手势识别器在哪些情况下触发的机制。