Je suis en train de faire une vue d'annotation personnalisée par le sous - classement MKAnnotationViewet redéfinissant la drawRectméthode. Je veux que la vue à tirer décalée par rapport à la position de l'annotation, un peu comme le MKPinAnnotationViewfait, de sorte que le point de l'axe est aux coordonnées spécifiées, plutôt qu'au milieu de la broche. Je me suis donc la position du cadre et la taille comme indiqué ci - dessous. Cependant, il ne semble pas que je peux affecter la position du cadre du tout, seulement la taille. L'image finit par être dessinée centrée sur la position de l' annotation. Des conseils sur la façon d'obtenir ce que je veux?
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];
}













