В моем MKMapView
я показываю MKMarkerAnnotationView
Это выглядит так, как задумано.
Когда я нажимаю наэто вручную, MarkerView визуализируется как точка, и отображается сноска:
Когда я выбираю соответствующий MKAnnotation
программным путем, как это
mapView.selectAnnotation(copiedAnnotation, animated: false)
в главном потоке, я ожидаю тот же результат, что и нажатие на него.Но вместо этого я получаю это:
Таким образом, MarkerView отображается в размере, который был бы правильным, если бы не было выноски.И верный вынос отображается поверх него.
animated: false/true
не имеет значения.
Что я могу сделать, чтобы MapKit отображал selectAnnotation
так же, как нажатие на MKMarkerAnnotationView
?
Это происходит в iOS 11 и 12.0.
Редактировать
Это проблема синхронизации.При вызове
mapView.selectAnnotation(copiedAnnotation, animated: false)
в первые 100 миллисекунд после добавления аннотации отображается ошибка.Ожидание не менее 600 мс перед программным выбором представляется обходным решением.Недостаточно дождаться появления вида.
Редактировать 2
Передал рабочий и воспроизводимый пример на радар с яблоками.