Wie kann ich das ändern der frame-position für eine benutzerdefinierte MKAnnotationView?

Ich versuche, eine benutzerdefinierte Anmerkung anzeigen, indem bilden von Unterklassen MKAnnotationView und überschreiben der drawRect Methode. Ich möchte die Ansicht gezeichnet werden, der offset aus der annotation der position, so etwas wie MKPinAnnotationView es tut, so dass der Punkt der pin ist an den angegebenen Koordinaten, statt in der Mitte der pin. Also habe ich die frame-position und-Größe wie unten gezeigt. Jedoch, es sieht nicht wie ich die beeinflussen können die position des Rahmens, sondern nur die Größe. Das Bild landet gezogen wird zentriert über die annotation-position. Irgendwelche Tipps, was ich erreichen will?

MyAnnotationView.h:

@interface MyAnnotationView : MKAnnotationView {

}

MyAnnotationView.m:

- (id)initWithAnnotation:(id <MKAnnotation>)annotation reuseIdentifier:(NSString *)reuseIdentifier {
    if (self = [super initWithAnnotation:annotation reuseIdentifier:reuseIdentifier]) {
        self.canShowCallout = YES;
        self.backgroundColor = [UIColor clearColor];
        //Position the frame so that the bottom of it touches the annotation position 
        self.frame = CGRectMake(0, -16, 32, 32);
    }
    return self;
}

- (void)drawRect:(CGRect)rect {
    [[UIImage imageNamed:@"blue-dot.png"] drawInRect:rect];
}

InformationsquelleAutor andrei | 2010-03-19

Schreibe einen Kommentar