Общее действие кнопки MKAnnotation Custom Callout - как узнать, из какой она аннотации? (IPhone)

Я разрабатываю приложение MapKit, которое использует целую кучу MKAnnotations для маркировки местоположений. Я хочу добавить кнопки в выноски, которые пользователь может нажать, чтобы выполнить действие в выбранном месте. До сих пор я видел примеры, в которых вы можете поместить определенный обработчик в каждую выноску, например пример кода Apple "MapCallouts".

Я хочу использовать один обработчик для всех выносок аннотации, который является общим назначением, где в идеале я бы передавал MKAnnotation для активной выноски.

Я искал и искал в Google безрезультатно, кто-нибудь может дать мне указатель или ссылку?

Спасибо!

1 ответ

Решение

Вместо добавления собственного метода-обработчика addTarget а затем с помощью selectedAnnotations чтобы выяснить, какая аннотация была нажата, я предпочитаю использовать calloutAccessoryControlTapped метод делегата.

В этом методе делегата доступ к аннотации осуществляется с помощью view.annotation и если вы определили пользовательский класс аннотаций с дополнительными свойствами, вы можете выполнить приведение к ним, используя (MyAnnotationClass *)view.annotation,

Другие вопросы по тегам