在哪种情况下会调用mapView:viewForAnnotation:

时间:2012-02-25 09:28:17

标签: ios iphone annotations mkmapview mkmapviewdelegate

现在我想在iOS应用程序中的地图上添加静态图钉注释。

但我只是想知道是否会调用委托方法mapView:viewForAnnotation:。

在Apple文档中,据说

 When it needs an annotation view, the map view calls the mapView:viewForAnnotation:    method of its delegate object. 

我已经阅读了来自互联网的几个教程和Apple的官方文档。 当这种方法被调用时我仍然不会。

2 个答案:

答案 0 :(得分:11)

每当您致电addAnnotation方法时,- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation都会被调用。看一下截图。

enter image description here

您可以在 MKMapView Class Reference

上找到

P.S。将断点放在addAnnotation来电和- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation,您将很容易看到函数调用的流程。

答案 1 :(得分:2)

显然,MKMapView至少会在需要向屏幕显示mapView:viewForAnnotation:时致电MKAnnotationView