callout)を表示する方法iOSでは地図上にピンを立てて、そのピンをクリックすると吹出しを表示することができます。設定方法は下記の様な感じです。YES;ただ、この吹出し(Callout)を独自のViewにする方法は無いかなと調べてみました。MKMapViewにaddSubviewして表示すれば良いじゃね?っと思ったのですが、addSubviewだと地図を移動したときに吹出しが連動して動かないんですね。下記のサイトにカスタムコールアウトの表示方法が記載されていました。このサンプルだと複数ピンにたいして複数コールアウトが。1そこで、サンプルコードを書いてみました。viewもMKAnnotationViewとして扱う、ですね。ポイントだけ書くので後はサンプルソースを見てください。通常のピン用のMKAnnotationを「PinAnnotation」として作ります。*calloutAnnotation;@end次に、吹出し用のMKAnnotationを「CalloutAnnotation」として作ります。coordinate;@end最後に吹出し用に「MKAnnotationView」を継承した「CalloutAnnotationView」を作ります。*title;@endで、ピンのアノテーションをつくって地図にaddAnnotationするときに、pinAnnotation.title経由で吹出しに表示したいタイトルをセットして渡します。*)view」で選択されたMKAnnotationがPinAnnotationだったらCalloutAnnotationを生成します。生成したCalloutAnnotationにタイトルと経度緯度を渡します。ピンの選択が解除されたときには吹出しを消したいので、生成したCalloutAnnotationをPinAnnotationにも渡しておきます。生成したCalloutAnnotationをMKMapViewにaddAnnotationします。viewForAnnotation:(id)annotation」が呼ばれます。MKAnnotationがCalloutAnnotationだったらCalloutAnnotationViewを生成します。生成したCalloutAnnotationView.titleにCalloutaAnnotationのタイトルをセットします。MKAnnotationViewは使い回しされるのでそのままだと表示する文字などが更新されないので「setNeedsDisplay」で強制的に更新します。calloutAnnotation.coordinate」などで表示位置を調整する必要があります。annotationView;}これで下記の用にカスタムコールアウトが表示されたハズです。経由で渡して吹出しをMKAnnotationViewとして表示するということです。(ここら辺がもっとスマートにならないかな。*)view」で地図のremoveAnnotationでCalloutAnnotationを削除します。}}サンプルソースはgithubの下記にアップしておきます。custom-callout-sample-for-iOSなんかもっといい方法があるよ!とかこのコードだとココマズイんじゃね?ってところがありましたら教えてください。1.3をリリースしました。