0

場所をマークするために大量の MKAnnotations を使用する MapKit アプリを開発しています。私が望むのは、ユーザーが選択した場所でアクションを実行するために押すことができるボタンをコールアウトに配置することです。これまで、アップルのサンプル コード「MapCallouts」のように、特定のハンドラを各コールアウトに配置できる例を見てきました。

汎用のすべてのアノテーション コールアウトに対して 1 つのハンドラーを使用したいと考えています。この場合、アクティブなコールアウトの MKAnnotation を渡すのが理想的です。

Google で検索しても役に立ちませんでした。だれかポインタまたはリンクを教えてもらえますか?

ありがとう!

4

1 に答える 1

2

addTargetプロパティを使用して独自のハンドラーメソッドを追加し、selectedAnnotationsどのアノテーションがタップされたかを把握する代わりに、calloutAccessoryControlTappedデリゲートメソッドを使用することをお勧めします。

そのデリゲートメソッドでは、タップされたアノテーションはを使用してアクセスview.annotationされ、追加のプロパティを使用してカスタムアノテーションクラスを定義した場合は、を使用してそれらにアクセスするためのキャストを実行できます(MyAnnotationClass *)view.annotation

于 2012-01-28T15:19:55.270 に答える