0

私のアプリは、CLLocationManagerからの何千もの緯度と経度の詳細を保存して、地図上にオーバーレイを描画します。ここで、そのオーバーレイにジェスチャーを追加し、他の場所ではなくオーバーレイに触れたときにメッセージを表示したいと思いました。誰かがこれに対する簡単な解決策を思い付くことができますか?

4

2 に答える 2

1

オーバーレイがビューとして実装されている (またはビューの一部である) と仮定すると、関数をオーバーライドできます。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

ユーザーが画面に触れた場所をテストします。

オーバーレイに外接する四角形がある場合は、ユーザーのタッチ位置を四角形と単純に比較できます。これにより、タッチがオーバーレイ内にあるかどうかがわかります。

于 2013-01-29T08:24:34.837 に答える
0

これは私のために働きます。

UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc] 
                               initWithTarget:self action:@selector(handleGesture:)];  
tgr.numberOfTapsRequired = 2;
[mapView addGestureRecognizer:tgr];
[tgr release]; 
于 2013-01-29T08:31:43.250 に答える