Я работаю с представлением карты, заполненным пользовательскими выводами. Когда пользователь нажимает где-то на карте, чтобы отменить выбор контакта, я хочу реализовать карту таким образом, чтобы вывод не отменялся (т. Е. Пользователи не могут отменить выбор выводов без выбора других выводов, поэтому всегда будет выбран хотя бы один вывод). ). Вот моя реализация метода didDeselectAnnotationView:
-(void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view
{
[mapView selectAnnotation:view.annotation animated:NO];
}
По сути, я пытаюсь повторно выбрать аннотацию. Однако, после некоторой отладки и печати на консоль, я понял, что представление аннотации на самом деле не отменяется, пока не завершится выполнение метода didDeselectAnnotationView: то есть порядок событий: пользователь нажимает где-то на карте, вызывается didDeselectAnnotationView: и завершает выполнение, представление аннотации фактически отменено). Кто-нибудь еще сталкивался с этой проблемой, или кто-нибудь знает другой способ применения поведения для карты, чтобы пользователи не могли отменить выбор контактов, не выбирая другие контакты, чтобы всегда был выбран один контакт?
Спасибо за помощь.