MKPinAnnotationView не может установить пользовательское изображение - PullRequest
0 голосов
/ 24 июля 2011

У меня есть MKPinAnnotationView, и в моем методе viewForAnnotation я делаю следующее:

customPinView.image = [UIImage imageNamed:@"blah.png"];

Я добавил blah.png к своим ресурсам (перетаскивая файл в)

Я все еще вижу значок булавки, а не мое изображение.Я делаю что-то неправильно?Вот полный код:

- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
    static NSString *AnnotationViewID = @"annotationViewID";

    MKAnnotationView *annotationView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];

    if (annotationView == nil)
    {
        annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease];
    }

    annotationView.image = [UIImage imageNamed:@"blah.png"];
    annotationView.annotation = annotation;

    return annotationView;
}

1 Ответ

1 голос
/ 25 июля 2011

Чтобы получить выноску с пользовательским изображением, в методе делегата viewForAnnotation вы можете установить leftCalloutAccessoryView или rightCalloutAccessoryView для своего изображения (хотя тот, который справа, обычно используется для кнопки раскрытия):

annotationView.canShowCallout = YES;
UIImage *img = [UIImage imageNamed:@"something.png"];
annotationView.leftCalloutAccessoryView = 
    [[[UIImageView alloc] initWithImage:img] autorelease];
...