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;