与时俱进的IT

UI(三十六)地图上的大头针

2018-07-30  本文已影响0人  社会主义顶梁鹿

大头针的添加展示

 《1》大头针视图(MKAnnotationView)在地图上展示

 <1>MKAnnotationView类似于UITableViewCell

 <2>MKAnnotation类似于表视图里面的model

<3>- (nullable MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )annotation 类似初始化cell的代理方法

 <4>如果只添加了annotation会自动添加一个大头针(pinAnnotationView)

 《2》介绍:大头针由两部分组成

 <1>大头针模型:MKAnnotation 是大头针数据的组成、决定大头针显示的内容

所有大头针模型需要遵守的协议:MKAnnotationView

 必须实现的方法:经纬度

 <2>大头针视图:

MKAnnotationView (自己随意定义大头针的样式)

MKPinAnnotationView (不能改变大头针视图的图片、但可以改变大头针的颜色)

 animatesDrop 掉落动画的属性

 是用于显示内容的view 可以定义显示视图的样式

MKAnnotationView 可以自定义

 《1》初始化:

initWithAnnotation: reuseIdentifier:

 《2》image 设置大头针图片

 《3》centerOffset

 中心点的偏移量 x正右 y正下

 《4》calloutOffset 插图的偏移量

 《5》enabled 是否激活 默认YES

 《6》highlighted 是否高亮 默认NO

 《7》selected 是否选中

 《8》*canShowCallout 设置是否可以显示插入视图

 《9》leftCalloutAccessoryView 左侧插入视图的附加视图

 《10》rightCalloutAccessoryView:右侧插入视图的附加视图

 《11》detailCalloutAccessoryView iOS9之后出现 插入视图的详细视图(eg:label控件、button、控件)

 《12》draggable 是否可以拖拽

 《13》dragState 拖拽的状态

 需求:长按地图上的某一点 添加一个大头针 大头针上显示地图的真实位置

 1、地图上添加一个长按手势

 2、添加一个大头针数据模型到地图上

 (1)视图上的点需要转换成经纬度

 把经纬度 转成point -> convertCoordinate:toPointToView:

 把Point转成经纬度 -> convertPoint: toCoordinateFromView:

 (2)把数据模型需要添加到地图上

 addAnnotation:添加一个

 addAnnotations:添加一组

 removeAnnotation:移除一个

 removeAnnotations:移除一组

 **isKindOfClass 判断来自哪个类

*自定义大头针数据模型需要注意:

 (1)必须遵守MKAnnotation协议

 (2)必须实现坐标的属性

上一篇 下一篇

猜你喜欢

热点阅读