iOS Mapkit自定义图像显示大2倍

时间:2011-07-31 10:03:09

标签: ios mapkit

使用以下图像[使用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;
    }

1 个答案:

答案 0 :(得分:3)

如果你的图像是用于视网膜显示质量分辨率但没有@2x附加到文件名的末尾(即'Pushpin_large@2x.png'作为项目文件夹中的文件名),那么他们绘制时会出现两倍大的值。如果是这种情况,请不要更改代码,只需将@2x附加到文件名即可。