Iphone MKPinAnnotationView图像偏移?
有人知道为什么用于MKPinAnnotationView的图像应该稍微偏移(向上和向右)吗?我使用的代码是:Iphone MKPinAnnotationView图像偏移?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,有人知道为什么用于MKPinAnnotationView的图像应该稍微偏移(向上和向右)吗?我使用的代码是: pinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:pinView_ID]; pinView.image = [UIImage imageNamed: @"TEST_Small.png"]; // RedCircleImage = 40px x 40px 72dpi PN
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
代码没有改变,只是更改了所用图像的文件名,一幅图像是“两个中间有黑点的红环”,另一幅是“小绿点”,我在Photoshop中添加了蓝色细线,以帮助显示绿点的位置
我已检查centerOffset属性并将其正确设置为0,0
任何想法都欢迎 正如Dolbz所指出的,您应该使用
MKAnnotationView
而不是MKPinAnnotationView
。设置图像时,还可以设置适合图像的centerOffset
。默认的centerOffset
应适用于您的图像,但如果您要显示pin、标志等,则应进行不同的设置。我不确定这是否会导致您看到的问题,但您可能不应该尝试自定义MKPinAnnotationView。您应该使用MKAnnotationView。MKPinAnnotationView是一个具体的实现类,因此可能有它自己的逻辑与引脚动画相关,这可能会导致您看到的偏移量。这是一个很好的观点,我会看一看。这确实是一个解决方案,非常感谢Dolbz,如果您想要代表,您可以发布您的评论作为答案,否则我会用omz标记答案。这和我遇到的问题完全一样。我正在自定义MKPinAnnotationView
,它以与您的屏幕截图类似的方式偏移了我的图像(而不是死点)。使用MKAnnotationView
解决了这个问题,centerOffset
现在自动设置为图像尺寸的负一半。我花了几个小时才读到你的帖子,我意识到我使用的是MKPinAnnotationView而不是MKAnnotationView。显然,中心偏移在MKPinAnnotationView中不起作用。非常感谢你的帮助。