MKMapView系列之大头针

大头针是苹果地图框架默认提供的一个标注视图,总共有三种颜色可选,分别是:

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一样的重用机制,所以请注意出队标识设置。

感谢您的阅读,希望可以帮到您!

原文地址:https://www.cnblogs.com/liukunpeng/p/3750844.html