Немного разочарования, пытаясь вызвать didSelectAnnotationView....
Моя ситуация: используя контроллер TabBar, мое приложение переключается с представления INDEX на представление MAP (вкладка INDEX на вкладку MAP), когда выбран один из элементов в индексе. Нет проблем заставить это работать под 4.3, но есть интересная проблема под 5.0.
Если я ранее выбрал вкладку MAP (как в представлении MAP, загружено), всплывает аннотация «пузырь», чтобы показать выбранную точку ... нет проблем. Но если бы я не выбрал вкладку MAP перед выбором одного из элементов в списке индексов, он загружает представление MAP, но не вызывает метод didSelectAnnotationView.
Это происходит только один раз... например, после загрузки представления MAP все работает, как и ожидалось.
И снова в версии 4.3 didSelectAnnotationView вызывается каждый раз, независимо от того, было ли ранее загружено представление MAP или нет.
Есть предположения...?
Что касается моего кода, я загружаю все аннотации методом viewDidLoad, и viewWillAppear выглядит так:
//Run through all annotations
for (id<MKAnnotation> annotation in mapView.annotations) {
//Check if that annotation is the selected one
if (annotation.coordinate.longitude == mylongitude) {
[[mapView viewForAnnotation:annotation] setHidden:FALSE];
[mapView selectAnnotation:annotation animated:YES];
}
}