Зараз я працюю з mapkit і застряг.
У мене є власний вигляд анотацій, який я використовую, і я хочу використовувати властивість image для відображення точки на карті з власною піктограмою. У мене це працює нормально. Але що я також хотів би зробити, це замінити подання виноски за замовчуванням (спливаюча підказка, яка відображається із заголовком / підзаголовком, коли торкаємося значка анотації). Я хочу мати можливість керувати самою виноскою: mapkit надає доступ лише до лівого та правого допоміжних виглядів виноски, але ніяк не можна надати власний вигляд для виноски виноски, або надати йому нульовий розмір, або щось інше.
Моя ідея полягала в тому, щоб замінити selectAnnotation / deselectAnnotation у моєму MKMapViewDelegate
, а потім намалювати власний власний вигляд, зробивши виклик до мого користувацького подання анотацій. Це працює, але тільки тоді , коли canShowCallout
буде встановлено YES
в моєму призначеному для користувача класі перегляду анотацій. Ці методи НЕ викликаються, якщо для мене встановлено цей параметр NO
(саме цього я і хочу, щоб мітка з виносками за замовчуванням не була намальована). Отже, я ніяк не можу дізнатися, чи користувач торкнувся моєї точки на карті (вибрав її) чи торкнувся точки, яка не є частиною моїх переглядів анотацій (видалила її), не з’явившись перегляду міхурів за умовчанням.
Я спробував піти іншим шляхом і просто обробляти всі події дотику сам на карті, і, здається, я не можу це зробити. Я читав інші публікації, пов’язані з ловом дотикових подій у поданні карти, але вони не зовсім такі, як я хочу. Чи є спосіб заглибитися у вигляд карти, щоб видалити виноску з виносками перед нанесенням малюнка? Я в розгубі.
Будь-які пропозиції? Мені не вистачає чогось очевидного?