我使用UIPanGestureRecogniser
来实现拖放。拖动开始时,我需要识别被拖动的对象。但是物体相对较小。如果用户没有在对象中心点击对象,则不会被拖动。
问题在于,当首次使用状态UIGestureRecognizerStateBegan
调用手势处理程序时,手指已经移动了几个像素,因此[UIPanGestureRecognizer locationInView:]
返回该点,这不是手势真正开始的位置。这是有道理的,因为它只能在几个像素的运动后识别出一个平底锅。但是,我需要手势的绝对开始,而不是手势首次被识别后的位置。
我想我也许需要实现一个轻拍手势识别器,纯粹是为了捕捉第一次触摸。但这似乎是对一个不寻常的要求的黑客攻击。是否没有其他方法可以从平移手势识别器中获得第一次触摸?
答案 0 :(得分:0)
UIGestureRecognizerDelegate
协议提供方法gestureRecognizerShouldBegin:
和gestureRecognizer:shouldReceiveTouch:
,可帮助您在平移转换为州UIPanGestureRecognizerStateBegan
之前评估触摸