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就大功告成了。。


例子效果如下:



代码在资源里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值