问题描述
现在我想在我的 iOS 应用中的地图上添加静态图钉注释.
Now I want to add a static pin annotation on map in my iOS app.
但我只想知道是否会调用委托方法 mapView:viewForAnnotation:.
But I just want to know if the delegate method mapView:viewForAnnotation: will be called.
在Apple文档中,据说
In the Apple documentation, it is said that
When it needs an annotation view, the map view calls the mapView:viewForAnnotation: method of its delegate object.
我已经阅读了一些来自 Internet 的教程和来自 Apple 的官方文档.而且我仍然不知道何时调用此方法.
I have read several tutorials from Internet and official documentation from Apple. And I still don't when this method will be called.
推荐答案
每当你调用 addAnnotation 方法 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation >)annotation 被调用.看看截图吧.
Whenever you call addAnnotation method - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation gets called. Have look at the screenshot.
您可以在 MKMapView 类参考
You can find this on MKMapView Class Reference
附:在 addAnnotation 调用和 - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation 处放置断点,您将看到函数的流程轻松调用.
P.S. Put breakpoints at addAnnotation call and - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation you will see the flow of function call easily.