0

私はMapViewに取り組んでおり、特定の注釈を削除するためにannotationViewにlongGestureを追加したいので、デリゲートの各annotationViewにlongGestureを追加しました - (MKAnnotationView *)mapView:(MKMapView *)mapview viewForAnnotation:(id )annotation

しかし、 annoattaionView は長いジェスチャーを検出しません。マップビューの AnnotationView に長いジェスチャーを追加する方法はありますか?

4

1 に答える 1

2

問題はMKAnnotationView、それをドラッグするための長いジェスチャ認識エンジンがすでにあるため、期間に応じて (ドラッグの期間がわからない)、代わりにそのジェスチャ認識エンジンに移動します。ビューのすべてのジェスチャ レコグナイザーを取得し、isKindOfClassfor を実行してジェスチャ レコグナイザーUILongGestureを削除し、独自のジェスチャ レコグナイザーを追加します。

または、短い時間を試してみるとうまくいくUILongGestureかもしれません。

MKAnnotationView のジェスチャ認識エンジンのデフォルトの動作が必要ない場合は、次のように注釈ビューを無効にすることもできます。

[myAnnotationView setEnabled:NO];次に、認識エンジンを注釈ビューに追加します。

それが役立つことを願っています。

于 2012-08-22T14:25:40.967 に答える