MKMarkerAnnotationView selectAnnotation () показывает как MarkerView, так и выноску - PullRequest
0 голосов
/ 27 сентября 2018

В моем MKMapView я показываю MKMarkerAnnotationView

MKMarkerAnnotationView

Это выглядит так, как задумано.

Когда я нажимаю наэто вручную, MarkerView визуализируется как точка, и отображается сноска:

Callout

Когда я выбираю соответствующий MKAnnotation программным путем, как это

mapView.selectAnnotation(copiedAnnotation, animated: false)

в главном потоке, я ожидаю тот же результат, что и нажатие на него.Но вместо этого я получаю это:

eCallout and marker

Таким образом, MarkerView отображается в размере, который был бы правильным, если бы не было выноски.И верный вынос отображается поверх него.

animated: false/true не имеет значения.

Что я могу сделать, чтобы MapKit отображал selectAnnotation так же, как нажатие на MKMarkerAnnotationView?

Это происходит в iOS 11 и 12.0.

Редактировать

Это проблема синхронизации.При вызове

mapView.selectAnnotation(copiedAnnotation, animated: false)

в первые 100 миллисекунд после добавления аннотации отображается ошибка.Ожидание не менее 600 мс перед программным выбором представляется обходным решением.Недостаточно дождаться появления вида.

Редактировать 2

Передал рабочий и воспроизводимый пример на радар с яблоками.

...