Немного разочарования, пытаясь получить 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];
}
}