所以我有 2 个 UIViews 女巫可以绘制一个 bezierpath 然后返回路径。然后我需要检查路径是否包含我在帮助下执行此操作的点[path containsPoint:currentObject.position]
,它适用于其中一个视图,但不适用于另一个视图。一个视图位于 iPhone 的上半部分,另一个视图位于下半部分。最下面的那个不行。我试图切换视图,然后它是同样的问题,底部的不起作用。
这是一些代码:
在主视图控制器中:
-(void)didEndPath:(UIBezierPath *)path DrawView:(DrawView *)draw {
if ([path containsPoint:currentObject.position]) {
//do stuff
}
}
在drawview touches结束时我这样做:
[self.delegate didEndPath:currentPath DrawView:self];
为什么它不起作用,是不是视图有另一个来源然后self.view?我如何解决它?
编辑:
好的,所以我找到了问题,但没有找到解决方案。
如果我将 UIView 中的触摸方法从 this:
startPoint = [touch locationInView:self];
更改为 this,startPoint = [touch locationInView:self.superview];
那么它会正确读取触摸,但我的路径不会绘制。问题仍然只是底部的uiview。那么我该如何更改,以便它在超级视图中返回一个带有触摸位置的路径,但在它自己内部绘制它?