Jak dostosować bańkę wywołania dla MKAnnotationView?

Obecnie pracuję z mapkitem i utknąłem.

Mam niestandardowy widok adnotacji, którego używam, i chcę użyć właściwości obrazu, aby wyświetlić punkt na mapie za pomocą mojej własnej ikony. Mam to działa dobrze. Ale chciałbym również zastąpić domyślny widok wywołania (bąbelek, który pojawia się z tytułem / podtytułem po dotknięciu ikony adnotacji). Chcę mieć możliwość kontrolowania samego wywołania: mapkit zapewnia dostęp tylko do lewego i prawego pomocniczego widoku objaśnienia, ale nie ma sposobu, aby zapewnić niestandardowy widok dla dymku wywołania lub aby nadać mu zerowy rozmiar lub cokolwiek innego.

Moim pomysłem było zastąpienie selectAnnotation / deselectAnnotation w moimMKMapViewDelegate, a następnie narysuj mój własny widok niestandardowy, wywołując mój niestandardowy widok adnotacji. To działa, ale tylko wtedycanShowCallout jest ustawione naYES w mojej niestandardowej klasie widoku adnotacji. Te metody NIE są wywoływane, jeśli mam to ustawienieNO (tego właśnie chcę, aby domyślna bańka wywołania nie została narysowana). Nie mam więc pojęcia, czy użytkownik dotknięty moim punktem na mapie (zaznaczył go) lub dotknął punktu, który nie jest częścią moich widoków adnotacji (usunięty) bez wyświetlenia domyślnego widoku dymku z objaśnieniami.

Próbowałem zejść inną ścieżką i po prostu obsługiwać wszystkie zdarzenia dotykowe na mapie i nie wydaje mi się, żeby to działało. Czytam inne posty związane z przechwytywaniem zdarzeń dotykowych w widoku mapy, ale nie są one dokładnie tym, czego chcę. Czy istnieje sposób na zagłębienie się w widoku mapy, aby usunąć dymek wywołania przed rysowaniem? Jestem ze stratą.

Jakieś sugestie? Czy brakuje mi czegoś oczywistego?

questionAnswers(9)

yourAnswerToTheQuestion