是否可以将MKAnnotation引脚更改为我自己设计的png?
答案 0 :(得分:4)
覆盖它并成为MKMapViewDelegate的委托来实现覆盖该方法。
- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation;
创建注释
MKAnnotationView *annotationView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];// get a dequeued view for the annotation like a tableview
if (annotationView == nil)
{
annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease];
}
annotationView.annotation = annotation;
annotationView.canShowCallout = YES; // show the grey popup with location etc
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
///[rightButton addTarget:self action:@selector(showDetails:) forControlEvents:UIControlEventTouchUpInside];
annotationView.rightCalloutAccessoryView = rightButton;
annoationView.image = [UIImage imageNamed:@"random.png"];
自定义图像已完成
答案 1 :(得分:2)
是的,在viewForAnnotation委托回调中,您可以提供您喜欢的任何视图。
答案 2 :(得分:1)
对于自定义注释图像,请设置图像属性。
UIImage *annImage = [UIImage imageNamed:@"AnnotationIcon.png"];
annView.image = annImage;
请注意MKPinAnnotationView animateDrop属性不适用于自定义图像。有一种方法可以复制那个动画。见How do I animate MKAnnotationView drop?