2010-04-09 3 views
3

У меня есть MKAnnotationView, который выделяется кнопкой DetailDisclosure, отображаемой в правой части аннотации. Как мне узнать, когда пользователь нажал кнопку аннотации? Это то, что мой код выглядит прямо сейчас -Как сказать rightCalloutAccessoryView был затронут для MapKit

UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
pinView.rightCalloutAccessoryView = rightButton; 
pinView.animatesDrop = YES; 

Есть встроенный метод для обнаружения, когда аксессуар точка зрения была затронута? Я предполагаю, что это будет похоже на методы UITableView, но я ничего не могу найти. Спасибо за любую помощь.

ответ

5

Вам необходимо установить какой-либо объект в качестве вида вашей карты delegate и реализовать метод протокола MKMapViewDelegate-mapView:annotationView:calloutAccessoryControlTapped:.

1

Внесите mapView:annotationView:calloutAccessoryControlTapped: метод в ваш MKMapViewDelegate.

+0

Как бы получить, на какую кнопку indexPath нажали? Я попробовал .tag, но не работал –

+0

Что такое indexPath, когда вы используете MKMapAnnotations? Вы можете получить объект аннотации, связанный с представлением аннотации, через свойство аннотации представления. – Vladimir

+0

У меня есть несколько аннотаций, выложенных на карте, и я просто хочу убедиться, что как только пользователь ударит по одному из них, у меня есть способ сказать, какой из них был нанесен соответствующим образом. –

Смежные вопросы