その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

MKMapViewのピンをタッチせずにコールアウトを出す

MKPinAnnotationView の canShowCallout を YES にしておけばピンをタッチしたときにコールアウトが出るようになるのですが、下記方法でマップ表示時点で最初からコールアウトを出しておくことができます。

- (void)mapView:(MKMapView *)aMapView didAddAnnotationViews:(NSArray *)views {
    [mapView selectAnnotation:[mapView.annotations lastObject] animated:YES];
}

mapViewDidFinishLoadingMap: で行う、というのがポイントです。
(僕は mapView:viewForAnnotation: で selected に YESをセットしたりして、うまくいかずハマってました)


参考ページ:
How to trigger MKAnnotationView's callout view without touching the pin?