大头针是苹果地图框架默认提供的一个标注视图,总共有三种颜色可选,分别是:
typedef NS_ENUM(NSUInteger, MKPinAnnotationColor) {
MKPinAnnotationColorRed = 0,
MKPinAnnotationColorGreen,
MKPinAnnotationColorPurple
} NS_ENUM_AVAILABLE(10_9, 3_0);
当然我们也可以自定义标注视图,方法也很容易,我们只需要子类化MKAnnotationView即可。
LikeThis:
@interface MyCustomPinAnnotationView : MKAnnotationView
@end
我们继承了MKAnnotationView这个类,然后我们就可以设置自己想要的效果了。
这时我们需要实例化一个对象,例如:MyCustomPinAnnotationView *pinView;
我们需要在这个方法里完成我们的自定义动作:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:
(id <MKAnnotation>)annotation;
LikeThis:
pinView.image = @"图片名字";
至此相信你已经得到自己想要的效果,然后我们的需求绝不仅限于此,那么我们还可以这样做:
LikeThis:
[pinView setDraggable:YES];//移动大头针
pinView.pinColor = MKPinAnnotationColorPurple/Red/Green;
pinView.canShowCallout = YES;//显示上方的视图
pinView.animatesDrop = YES;//大头针从天而降
至此我们的地图是不是有点样子了,我们还可以把它做的更漂亮,大头针我们已经得到了,
接下来我们就要操作这些大头针来完成我们想要的效果,我会继续为大家奉上,使用大头针
的方式及实现;请持续关注我的博文。
注意:
大头针在地图也有像tableview一样的重用机制,所以请注意出队标识设置。
感谢您的阅读,希望可以帮到您!