2011-01-20 69 views
5

没有人有任何想法,为什么用于MKPinAnnotationView图像应稍微偏移(向上和向右),我使用的代码是:MKPinAnnotationView图像偏移?

pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:pinView_ID]; 
pinView.image = [UIImage imageNamed: @"TEST_Small.png"]; 
// RedCircleImage = 40px x 40px 72dpi PNG 
// GreenDotImage = 2px x 2px 72dpi PNG 

alt text

有到代码中没有变化只是所用图像文件名的变化,一个图像是“中心有黑点的两个红色圆环”,另一个是“小绿点”,我在Photoshop中添加了蓝色细线,以帮助显示哪里绿点是。

我检查了centerOffset属性及其正确设置为0,0

任何想法将受到欢迎。

+2

我不确定这是否导致您看到的问题,但您可能不应该试图自定义MKPinAnnotationView。你应该使用MKAnnotationView。 MKPinAnnotationView是一个具体的实现类,因此可能有它自己的逻辑相关的pin动画,可能会导致你看到的偏移量 – Dolbz 2011-01-20 13:57:00

+0

嗨,这是一个好点,我会看看。 – fuzzygoat 2011-01-20 14:09:35

回答

14

正如Dolbz指出的那样,您应该使用MKAnnotationView而不是MKPinAnnotationView。设置图像时,还可以设置适合图像的centerOffset。默认的centerOffset应该适用于你的图像,但是如果你要显示一个图钉,标志等,你可以对它进行不同的设置。