Mam MKMapView, który ma wiele adnotacji. Wybranie pinezki powoduje wyświetlenie objaśnienia, a naciśnięcie tego elementu powoduje dodanie nowego kontrolera view na stercie. Jednak po ponownym naciśnięciu nowego VC objaśnienie jest nadal otwarte. Jak to zamknąć?Jak zamknąć objaśnienie dla MKAnnotation w MKMapView
Próbowałem
if([[myMapView selectedAnnotations] count] > 0)
{
//deselect that annotation
[myMapView deselectAnnotation:[[myMapView selectedAnnotations] objectAtIndex:0] animated:NO];
}
ale to nie działa. WybraneAnnotacje mają pojedynczy wpis w tablicy, więc wchodzi w tę instrukcję, ale objaśnienie nie jest zamknięte.
Czy muszę dodać coś do mojej implementacji MKAnnotation lub mojego MKPinAnnotationView?
Nie jestem pewien, czy zmieniły SDK, ponieważ odpowiedziałeś na to, ale selectedAnnotations są rzeczywiście adnotacjami, a nie instancjami MKAnnotationView. – jowie
jowie ma rację (ale nie jestem pewien, jaka była sytuacja w 2009 r., Kiedy af. Odpowiedział). Muszę napisać kod w ten sposób, aby działał: for (adnotacja w wybranych adnotacjach) { [_mapView deselectAnnotation: animacja adnotacji: NIE]; } –
Mam tylko jedną adnotację w [mapView selectedAnnoations], ale callOut jest nadal widoczny – Misha