Прикосновение к изображению как выноска аннотации? - PullRequest
0 голосов
/ 26 февраля 2012

Я пытался использовать BarButton, но это неправильно:

CGSize thumbSize = CGSizeMake(30.0, 30.0);
UIImageView *annotationThumbnail = [[UIImageView alloc] initWithImage:[((Sight *)annotation).thumbnail imageToFitSize:thumbSize method:MGImageResizeScale]];
UIBarButtonItem *annotationButton = [[UIBarButtonItem alloc] initWithCustomView:annotationThumbnail];

annotationView.leftCalloutAccessoryView = annotationButton;

1 Ответ

2 голосов
/ 26 февраля 2012

UIBarButtonItem не является подклассом UIView, поэтому использование экземпляра UIBarButtonItem в месте, которое ожидает, что представление не будет работать. Вместо этого вы можете просто использовать annotationThumbnail, например:

annotationView.leftCalloutAccessoryView = annotationThumbnail;

Если вместо этого вы используете подкласс UIControl, такой как UIButton, делегат карты получит сообщение -mapView:annotationView:calloutAccessoryControlTapped:, если кто-то коснется аксессуара выноски:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setBackgroundImage:someImage forState:UIControlStateNormal];
button.frame = someRect;
annotationView.leftCalloutAccessoryView = button;
...