ShouldReceiveTouch持续手势

问题描述:

我有一个UIBezierPath,我想用containsPoint方法执行命中测试。通过使用UIGestureRecognizerDelegate方法shouldReceiveTouch,我可以通过这种方式检测到实际贝塞尔路径上的触摸,并允许将路径之外的触摸传递给响应者链(这是期望的行为)。ShouldReceiveTouch持续手势

这可以很好地与水龙头一起使用,但是由于shouldReceiveTouch不包含touchesMoved事件,所以在连续手势(即平移)时会出现问题。

我可以使用UIGestureRecognizerDelegate方法gestureRecognizerShouldBegin阻止整个连续手势,但手势不会传递给下一个响应者。

是继承UIGestureRecognizer,并得到touchesMoved调用shouldReceiveTouch的方式去呢?或者我可以通过剪辑路径来实现这一点,这是否也会导致在剪辑区域外传递事件?

感谢

我结束了覆盖pointInside:在绘制贝塞尔路径我UIView子类withEvent。这样我就可以处理离散和连续的手势,并将事件转发给超级视图。