Вызов selectAnnotation до его добавления на карту не будет работать, и даже его установка после строки addAnnotation не будет работать, потому что представление аннотации еще не нарисовано на карте.
Вам понадобитсяиспользовать метод делегата didAddAnnotationViews, который вызывается, когда аннотации готовы манипулировать:
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
id<MKAnnotation> myAnnotation = [mapView.annotations objectAtIndex:0];
[mapView selectAnnotation:myAnnotation animated:YES];
}
В примере просто предполагается, что у вас есть одна аннотация и она получается из массива аннотаций mapView.Вы также можете хранить ссылку на аннотацию с помощью ивара.
Убедитесь, что вы установили свойство делегата mapView, иначе метод не будет вызван.