我有找到了解決這個問題的辦法。基本上我需要重寫方法
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
其中
「返回一個布爾值指示所述接收器是否包含指定點」。
首先我用超級視圖測試點。如果它沒有返回,我將測試在父對象邊界外繪製的對象。
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
if ([super pointInside:point withEvent:event])
{
return YES;
}
else
{
id elem;
NSEnumerator * enumerator = [tracks objectEnumerator];
while(elem = [enumerator nextObject])
{
LKTrack *track = (LKTrack*) elem;
if ([track pointInside:[self convertPoint:point toView:track] withEvent:event])
{
return YES;
}
}
}
return NO;
}
這不是一個答案。你應該刪除它並在相關答案下發表評論。 – Logan 2014-05-15 05:16:22