Как я могу использовать MKPinAnnotationView поверх обычного UIView (вместо карты) - PullRequest
0 голосов
/ 20 июля 2009

Я пишу приложение для iPhone, которое будет содержать пользовательскую карту - мое собственное изображение для карты, а не Google. Изображение не очень большое, поэтому вместо использования библиотеки, такой как RouteMe, я выбираю только UIScrollView со встроенным изображением (карта).

Мой вопрос: возможно ли повторно использовать классы Apple MKPinAnnotationView поверх моего пользовательского UIView, чтобы взаимодействия выводов ощущались так же, как MapKit? До сих пор я разобрался, как добавить булавку к моей карте и расположить ее, но я не могу понять, как позволить пользователю взаимодействовать с ней - то есть сделать всплывающее окно описания.

Есть мысли? Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 21 июля 2009

Вы смотрели на этот метод из MKAnnotationView:

  • (void) setSelected: (BOOL) выбранный анимированный: (BOOL) анимированный

Это единственный публичный метод, который может показать / скрыть пузырь выноски. Кроме этого, вам придется перепроектировать классы и начать ковыряться.

Тем не менее, я бы настоятельно рекомендовал бы против реверс-инжиниринга классов и использования методов, которые не являются публично доступными. Apple не дает обещаний поддерживать обратную совместимость, и если они узнают, что вы используете частные методы, они выгонят ваше приложение из магазина.

Кстати, полное раскрытие, это примечания к документации Apple для setSelected: animated:

Обсуждение Вы не должны вызывать этот метод непосредственно. MKMapView объект вызывает этот метод в ответ на пользователя взаимодействия с аннотацией.

0 голосов
/ 20 июля 2009

Возможно, вам удастся создать и использовать add subview для его отображения, и вам придется проделать определенную работу, чтобы заставить его отображать, где вы хотите, поскольку координаты, которые вы даете, предназначены для работы с mkmaps

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...