2011-01-20 2 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 является конкретным классом реализации и поэтому может иметь свою собственную логику, связанную с анимацией вывода, которая может быть вызвана смещением, которое вы видите – Dolbz

+0

Привет, это хороший момент, я посмотрю. – fuzzygoat

+0

Это действительно было решение, высоко ценимое Dolbz, если вы хотите, чтобы представитель мог опубликовать ваш комментарий в качестве ответа, в противном случае я пометю ответ omz. – fuzzygoat

ответ

14

Как указал Долбц, вы должны использовать MKAnnotationView вместо MKPinAnnotationView. Когда вы устанавливаете изображение, вы также можете установить centerOffset, который подходит для вашего изображения. Значение по умолчанию centerOffset должно работать для ваших изображений, но если вы будете показывать булавку, флаг и т. Д., Вы можете установить его по-разному.

+0

Очень ценится. – fuzzygoat

+1

Я провел несколько часов, пока не прочитал ваш пост, и я понял, что я использую MKPinAnnotationView, а не MKAnnotationView. Очевидно, что centerOffset не работает в MKPinAnnotationView. Большое спасибо за помощь. – Ricardo

Смежные вопросы