0

使用 CGPathContainsPoint 时,我的结果与 CAShapeLayer 的原始位置一致,但与当前位置不一致。这是正常的吗,我是否需要在我正在测试的 CGPoint 上应用转换,或者我应该在代码的其他地方寻找问题?我的 CAShapeLayer 只是通过一次更新它的 .position 属性来移动的。

为了完整起见,我补充说我的 CAShapeLayer 是 UIButton.layer 的子层。

4

1 回答 1

3

为了回答我自己的问题,我需要使用以下方法将触摸点的位置(在 UIButton 的坐标空间中)转换为 CAShapLayer 的坐标空间:

CGPoint convertedTouchPoint = [myButton.layer convertPoint:touchPoint toLayer:myShapeLayer];
于 2012-08-28T02:08:38.707 回答