IOS开发学习:MKMapView自定义CalloutView

自定义的过程这篇博客写的很详细:http://blog.csdn.net/mad1989/article/details/8794762


标记一个位置点的view ----》marker或者pin

点击marker后弹出的view ---》CalloutView


marker和calloutView都是一个annotation,一个annotation对应一个view即markerView和calloutView,所以自定义callout view时先自定义两个view对应的annotation分别为:CustomPinAnnotation和CustomCalloutAnnotation,pinAnnotation的弹出view用系统的就可以了,一般只要换一个image,再自定义一个calloutAnnotation的弹出view:CustomCalloutView



基本思路如下:

当调用MKMapView的andAnnotation添加一个marker(CustomPinAnnotation)时,系统会回调MKMapView的delegate中的viewForAnnotation方法,返回标记要显示的marker的view(return 一个系统的)。当点添加的marker时,系统会调delegate中的didSelectAnnotationView方法,我们再调用addAnnotation添加一个CustomCalloutAnnotation,调了这个方法后,系统又会回调viewForAnnotation方法,我们再返回我们自定义的CustomCalloutView就大功告成了。。


例子效果如下:

IOS开发学习:MKMapView自定义CalloutView_第1张图片


代码在资源里

你可能感兴趣的:(IOS开发学习:MKMapView自定义CalloutView)