改变引脚设计

时间:2011-08-19 15:38:43

标签: iphone ios mkannotation

是否可以将MKAnnotation引脚更改为我自己设计的png?

enter image description here

3 个答案:

答案 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?