如何定义由坐标定义的可点击区域

问题描述:

我正在写一个小型的iPad应用程序,它从坐标列表中绘制一个形状。我想挖掘形状内的任何地方,并有一些行动发生(即NSLog证明它的工作)。如何定义由坐标定义的可点击区域

有谁知道如何创建一个由坐标列表定义的可点击区域?

形状被绘制在MKMapView的顶部。

我的做法是:

有丹麦的形状住的UIView的子类中的点。重写pointInside:withEvent:用于该类。然后看How can I determine whether a 2D Point is within a Polygon?和使用新知识来实现​​pointInside:withEvent:方法

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    //Left as homework 
} 

您可以使用普通的自来水手势识别与此:)

+1

请注意,“留作功课”部分不一定非常复杂。如果使用CGPathRef定义坐标,则可以使用CGPathContainsPoint(),它会为您执行。 – 2013-03-25 16:36:57

只有UIView的实例可点击,并且它们的面积由它们的矩形属性frame定义。原则上,可以(用于非常简单和特定的形状)近似由坐标定义的区域多个UIView s,但这可能不是您想要的。

+0

形状被绘制在的MKMapView的顶部。这有帮助吗? – tentmaking 2013-03-25 16:25:58