2016-11-22 2 views
0

Я разрабатываю приложение и приложение в Xcode (цель-c), и у меня есть проблема. Я установил изображение leftCalloutAccessoryView в своих выводах карты, но моя проблема в том, что размер изображения слишком велик. Если возможно, я хочу изменить размер UUImage, не изменяя реальный размер изображения, потому что, если я изменю размер изображения, изображение будет иметь худшее качество, и я вижу его пиксельным.Изменение размера UIImageView для leftCalloutAccessoryView в Map Pin Xcode

Это мой viewForAnnotation methof whre Я выполнил свою 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:@"[email protected]"]; 
    } 
    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? Большое спасибо за ваш ответ.

+0

набора кадров для leftIconView прост и измените режим содержимого изображения на aspectfit – Vinodh

+0

@Vinodh Можете ли вы объяснить мне, как это сделать? У меня низкий уровень Xcode, но я стараюсь улучшаться каждый день. Я пробовал leftIconView.contentMode = UIViewContentModeScaleAspectFit; но это не работает. Большое спасибо за Ваш ответ! –

+0

затем добавьте кадр после этого – Vinodh

ответ

1

Я использовал образец изображение, чтобы решить проблему .Please использовать следующий код, чтобы поместить изображение в pinview

UIImageView *leftIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Bartender"]]; 
    leftIconView.contentMode = UIViewContentModeScaleAspectFit; 
    leftIconView.frame = CGRectMake(5, 5, pinView.frame.size.height- 20, pinView.frame.size.height - 20); 
    pinView.leftCalloutAccessoryView = leftIconView; 
    leftIconView.layer.cornerRadius = 5; 
    leftIconView.clipsToBounds = YES; 

А также, пожалуйста, найти прилагаемый скриншот для справки

enter image description here

+0

Он отлично работает. Большое вам спасибо за ваше время и ваш ответ! –

Смежные вопросы