2013-03-25 66 views
1

我正在寫一個小型的iPad應用程序,它從座標列表中繪製一個形狀。我想挖掘形狀內的任何地方,並有一些行動發生(即NSLog證明它的工作)。如何定義由座標定義的可點擊區域

有誰知道如何創建一個由座標列表定義的可點擊區域?

形狀被繪製在MKMapView的頂部。

回答

3

我的做法是:

有丹麥的形狀住的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

0

只有UIView的實例可點擊,並且它們的面積由它們的矩形屬性frame定義。原則上,可以(用於非常簡單和特定的形狀)近似由座標定義的區域多個UIView s,但這可能不是您想要的。

+0

形狀被繪製在的MKMapView的頂部。這有幫助嗎? – tentmaking 2013-03-25 16:25:58

相關問題