【发布时间】:2013-03-25 16:12:04
【问题描述】:
我正在编写一个从坐标列表中绘制形状的小型 iPad 应用程序。我想点击形状内的任何地方并进行一些操作(即 NSLog 证明它有效)。
有谁知道如何创建一个由坐标列表定义的可点击区域?
形状正在绘制在 MKMapView 之上。
【问题讨论】:
标签: objective-c touch coordinates area tap
我正在编写一个从坐标列表中绘制形状的小型 iPad 应用程序。我想点击形状内的任何地方并进行一些操作(即 NSLog 证明它有效)。
有谁知道如何创建一个由坐标列表定义的可点击区域?
形状正在绘制在 MKMapView 之上。
【问题讨论】:
标签: objective-c touch coordinates area tap
我的做法是:
让标记形状的点位于 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 定义。原则上,可以(对于非常简单和特定的形状)通过多个UIViews 来近似由坐标定义的区域,但这可能不是您想要的。
【讨论】: