我添加了一个UIView,它依赖于TouchesMoved: events来拖动触点。有一个长按压,点击,旋转和捏手势识别器已经存在于同一视图控制器中。我遇到了一个问题,视图接收touchesBegan:和touchesEnded:事件,但不会移动。
是我的问题,因为touchesMoved不是由手势识别器引起的,取消了视图中的触摸?我也有一个卷轴视图。这是罪魁祸首吗?
如果我不能使用touchesMoved,这是实现“触摸和移动”功能的最接近的手势。它是抽头还是潘手势识别器?
谢谢你的帮助!
发布于 2012-04-26 02:51:41
默认情况下,当手势处于活动状态时,取消它们链接到的对象中的触摸。可以通过将cancelsTouchesInView属性设置为NO来停止此行为。
发布于 2012-04-26 03:59:42
将原始的触摸处理和手势识别器混合在一起可能会产生奇怪的行为,至少我无法让它稳定地工作,它有点古怪。在您的情况下,您可能只需要在视图中添加一个拖动手势识别器(UIPanGestureRecognizer)来处理拖放。
您可以通过查看gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: of UIGestureRecognizerDelegate来控制哪个手势识别器触发在什么情况下的机制。
https://stackoverflow.com/questions/10326097
复制相似问题