在Map Pin Xcode

时间:2016-11-22 09:53:11

标签: ios iphone xcode image mapkit

我在Xcode(objective-c)中开发和应用程序,我遇到了问题。我在地图引脚中设置了一个leftCalloutAccessoryView图像,但我的问题是图像尺寸太大。如果可能的话,我想在不改变图像实际尺寸的情况下调整UUImage的大小,因为如果我改变图像的大小,图像质量会变差,我可以看到它像素。

这是我的viewForAnnotation方法,我实现了我的leftCalloutAccessoryView:

-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
    MKAnnotationView *pinView = nil;
    if(annotation != mapView.userLocation) {
        static NSString *defaultPinID = @"com.invasivecode.pin";
        pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinView == nil )
            pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID];

        pinView.canShowCallout = YES;
        pinView.image = [UIImage imageNamed:@"pin2@2x.png"];
    }
    else {
        //[mapView.userLocation setTitle:@"I am here"];
    }


    /**Pone una imagen a cada map pin leftimage**/
    UIImageView *leftIconView;
        leftIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"80_grados.png"]];


    pinView.leftCalloutAccessoryView = leftIconView;
    leftIconView.layer.cornerRadius = 6;
    leftIconView.clipsToBounds = YES;
    leftIconView.layer.borderWidth = 1;
    /********/


    UIButton *pinButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    pinView.rightCalloutAccessoryView = pinButton;

    return pinView;
}

enter image description here

这是我想要在不改变图像尺寸的情况下获得的,因为它降低了它们的质量: enter image description here

您知道我如何调整leftIconView的大小? 非常感谢您的回复。

1 个答案:

答案 0 :(得分:1)

我使用示例图片来解决您的问题。请使用以下代码将图片放入pinview

Map

另请参阅附件截图以供参考

enter image description here