2010-01-18 68 views
4

我正在向MapView中添加多个注释,并使用自定义图像而不是默认针脚。我现在用的是viewForAnnotation委托方法来设置这样的自定义图像:iPhone MapKit:注释图像重置回针脚

view.image = [UIImage imageNamed:@"placemark.png"]; 

而且我也试过:

[(MKPinAnnotationView *)view setImage:[UIImage imageNamed:@"placemark.png"]]; 

现在,这些都设置图像就好了。但是,当点击注释或mapType更改为Satellite或Hybrid时,它会重置为红色图钉图像。我错过了什么?

回答

3

我想我明白了。我最终不得不继承MKAnnotationView。

18

不要使用MKPinAnnotationView - 只需使用MKAnnotationView。

0
MKAnnotationView* pinView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier] autorelease]; 

pinView.animatesDrop=YES; 
pinView.canShowCallout=YES; 
pinView.image=[UIImage imageNamed:@"userMain.png"]; 

不要给MKPinAnnotation它采用默认的pin注释。只使用MKAnnotationView对象,不要使用:

pinView.animatesDrop=YES; 
+0

我不明白你的编辑点,请详细说明一下。 – 2012-06-12 10:44:58

+0

我认为编辑符合区分代码和叙述的标准。注意你的代码是以Courier字体显示的,而你的叙述不是。 – Rob 2012-10-20 04:24:26