Официальный ответ на этот поток неправильный ... использование zPosition - действительно лучший и самый быстрый подход по сравнению с использованием regionDidChangeAnimated ...
, иначе вы бы сильно пострадали от производительности со многими аннотациями на карте (как каждыйизменение кадра будет повторно сканировать все аннотации).и проверял это ...
поэтому при создании представления аннотации (или в didAddAnnotationViews) set: self.layer.zPosition = -1;(ниже всех остальных)
и как указано yuf: Это делает выноски на крышки контактов с других контактов - yuf 5 декабря 13 в 20: 25
, то есть вид аннотации появится нижедругие выводы.
, чтобы исправить, просто установите zPosition на 0, когда у вас есть выбор
-(void) mapView:(MKMapView*)mapView didSelectAnnotationView:(MKAnnotationView*)view {
if ([view isKindOfClass:[MyCustomAnnotationView class]])
view.layer.zPosition = 0;
...
}
-(void) mapView:(MKMapView*)mapView didDeselectAnnotationView:(MKAnnotationView*)view {
if ([view isKindOfClass:[MyCustomAnnotationView class]])
view.layer.zPosition = -1;
...
}