2011-01-20 10 views
5

Qualcuno ha qualche idea del perché le immagini utilizzate per un MKPinAnnotationView dovrebbero essere compensate po '(in alto a destra) il codice che sto usando è:MKPinAnnotationView offset dell'immagine?

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

ci

sono modifiche al codice solo un cambiamento nel nome del file per l'immagine utilizzata, un'immagine è il "i due anelli rossi con un punto nero al centro" l'altro è il "piccolo punto verde" Ho aggiunto le sottili linee blu in Photoshop per mostrare dove il punto verde è.

Ho controllato la proprietà e la sua centerOffset correttamente impostato su 0,0

Tutte le idee sarebbe il benvenuto.

+2

Non sono sicuro che ciò stia causando il problema riscontrato ma probabilmente non dovresti provare a personalizzare MKPinAnnotationView. Dovresti usare MKAnnotationView. MKPinAnnotationView è una classe di implementazione concreta e quindi potrebbe avere la propria logica correlata all'animazione del pin che potrebbe risultare nell'offset che si sta vedendo – Dolbz

+0

Ciao, questo è un buon punto, darò un'occhiata. – fuzzygoat

+0

Questa è stata davvero la soluzione, molto apprezzata Dolbz, se vuoi il rappresentante puoi pubblicare il tuo commento come risposta, altrimenti segnerò la risposta omz. – fuzzygoat

risposta

14

Come ha sottolineato Dolbz, è necessario utilizzare MKAnnotationView anziché . Quando si imposta l'immagine, è anche possibile impostare un valore centerOffset appropriato per l'immagine. L'impostazione predefinita centerOffset dovrebbe funzionare per le immagini, ma se si visualizzasse un pin, un flag, ecc. Lo si impostare diversamente.

+0

Molto apprezzato. – fuzzygoat

+1

Ho trascorso diverse ore fino a quando ho letto il tuo post e mi sono reso conto che stavo usando MKPinAnnotationView piuttosto che MKAnnotationView. Evidentemente centerOffset non funziona in MKPinAnnotationView. Grazie mille per l'aiuto. – Ricardo