Как сделать так, чтобы заголовки моих пользовательских карт всегда были видны в Objective-C? - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь отобразить несколько комментариев на MKMapView.В моей первоначальной настройке, используя стандартные маркеры выводов Apple, заголовок каждой аннотации всегда был виден на карте, при нажатии на нее появлялись субтитры.Но поскольку я создал пользовательские маркеры для замены стандартных, заголовки не отображаются, пока я не коснусь аннотации, после чего заголовок появится вместе с подзаголовком.

Я хочу восстановить предыдущее поведение и былинтересно, есть ли способ установить заголовки, чтобы они всегда появлялись?Я работаю в Objective-C.Документация Apple указывает на эту функцию в Swift:

var titleVisibility: MKFeatureVisibility { get set }

Как мне поступить в Objective-C?В настоящее время я установил следующие параметры:

 annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
 annotationView.enabled = YES;
 annotationView.canShowCallout = YES;

, поэтому я ищу что-то вроде:

annotationView. "Некоторый параметр для выбора видимости заголовка" = "ДА/ ON / VISIBLE ,, или как бы то ни было выражение ";

заранее спасибо, если кто-нибудь сможет помочь

1 Ответ

0 голосов
/ 11 июня 2018

titleVisibility является собственностью MKMarkerAnnotationView.Заменить MKAnnotationView на MKMarkerAnnotationView.

например

MKMarkerAnnotationView *pin = (MKMarkerAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:identifier];

if (!pin) {

    pin = [[MKMarkerAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
    pin.titleVisibility = MKFeatureVisibilityVisible;
    pin.subtitleVisibility = MKFeatureVisibilityVisible;
    pin.displayPriority = MKFeatureDisplayPriorityRequired;
    pin.animatesWhenAdded = YES;
    pin.canShowCallout = YES;
    pin.draggable = NO;
} else {
    pin.annotation = annotation;
}
...