如何定义由坐标定义的可点击区域
问题描述:
我正在写一个小型的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
}
您可以使用普通的自来水手势识别与此:)
答
只有UIView
的实例可点击,并且它们的面积由它们的矩形属性frame
定义。原则上,可以(用于非常简单和特定的形状)近似由坐标定义的区域多个UIView
s,但这可能不是您想要的。
+0
形状被绘制在的MKMapView的顶部。这有帮助吗? – tentmaking 2013-03-25 16:25:58
请注意,“留作功课”部分不一定非常复杂。如果使用CGPathRef定义坐标,则可以使用CGPathContainsPoint(),它会为您执行。 – 2013-03-25 16:36:57