使用以下图像[使用Annotations,MapkitView等]来标记某些位置。但是,当显示图像时,它们看起来要大2倍。 这是正常的吗?
这是一个继承的类,我使用
@interface ImageAnnotationView : MKAnnotationView {
UIImageView *_imageView;
id m_parent;
BusinessMapAnnotation *m_annotation;
NSString *stitle;
}
- (id)initWithAnnotation:(id <MKAnnotation>)annotation reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithAnnotation:annotation reuseIdentifier:reuseIdentifier];
self.backgroundColor = [UIColor clearColor];
self.m_annotation = (BusinessMapAnnotation*)annotation;
self.stitle = m_annotation.sTitle;
_imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:([stitle isEqualToString:@"You are here"]) ? @"Pushpin_large.png":@"NearPin.png"]];
_imageView.contentMode = UIViewContentModeCenter;
[self addSubview:_imageView];
_imageView.center = ([stitle isEqualToString:@"You are here"]) ? CGPointMake(15.0, -10.0):CGPointMake(kWidth/2, 0.0);
return self;
}
答案 0 :(得分:3)
如果你的图像是用于视网膜显示质量分辨率但没有@2x
附加到文件名的末尾(即'Pushpin_large@2x.png'作为项目文件夹中的文件名),那么他们绘制时会出现两倍大的值。如果是这种情况,请不要更改代码,只需将@2x
附加到文件名即可。