我正在尝试通过子类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];
}