Я пытаюсь создать собственное представление аннотации, создав подкласс MKAnnotationView
и переопределив метод drawRect
. Я хочу, чтобы представление было нарисовано со смещением от положения аннотации, как это делает MKPinAnnotationView
, чтобы точка штифта находилась в указанных координатах, а не в середине штифта. Итак, я установил положение и размер рамки, как показано ниже. Однако не похоже, что я вообще могу повлиять на положение кадра, только на размер. В итоге изображение рисуется по центру позиции аннотации. Какие-нибудь советы о том, как достичь того, чего я хочу?
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];
}