我有一个 UIBezierPath,我想使用 containsPoint 方法对其执行命中测试。通过使用 UIGestureRecognizerDelegate 方法 shouldReceiveTouch,我可以通过这种方式检测实际贝塞尔路径上的触摸,并允许路径外的触摸向上传递到响应者链(这是所需的行为)。
这对点击非常有效,但是当涉及到连续手势(即平移)时会出现问题,因为 shouldReceiveTouch 不涵盖 touchesMoved 事件。
我可以使用 UIGestureRecognizerDelegate 方法gestureRecognizerShouldBegin 来阻止整个连续手势,但手势不会传递给下一个响应者。
是子类化 UIGestureRecognizer 并让 touchesMoved 调用 shouldReceiveTouch 的方法吗?或者我可以通过剪切路径来实现这一点,这是否也会导致在剪切区域之外传递事件?
谢谢