2012-01-16 3 views
2

Когда я нажимаю на булавку, открывается аннотация с подробной кнопкой раскрытия.
Когда я касаюсь подробного раскрытия, вызывается следующий вид, мне нужна такая же функциональность, когда я касаюсь аннотации.MKMapView аннотация клика событие

ответ

2

Вы можете использовать этот код -

UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 

rightButton.tag = annotationIndex; 

[rightButton addTarget:self action:@selector(showDetails:) forControlEvents:UIControlEventTouchUpInside]; 

pinView.rightCalloutAccessoryView = rightButton; 

В этом «ShowDetails» должен быть ваш заказ IBAction, в котором вы закодировать вашу функциональность.

+0

Он попросил ответить на метку на аннотации, а не на кнопку аксессуаров;) – doNotCheckMyBlog

3

В MKMapViewDelegate имеется один делегат method. Когда вы выбираете аннотацию, этот метод поможет вам отслеживать, какая аннотация была выбрана, и вы можете отправить сообщение любому выбранному вами селектору;).

mapView:didSelectAnnotationView: 

Сообщает делегату, что был выбран один из его аннотаций.

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view 
Parameters 
mapView 

Вид на карту, содержащий аннотацию. view Вид аннотации, который был выбран. Обсуждение

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

Доступность Доступно в iOS 4.0 и новее. Объявлено в MKMapView.h

+0

Привет, я использовал этот метод, чтобы показать детали штыря. Как только я нажимаю на булавку, открывается аннотация, в которой отображается информация о событии с кнопкой раскрытия подробностей. Теперь, когда я касаюсь кнопки раскрытия подробностей, она переходит к следующему виду. Но когда я прикасаюсь к этой информации (аннотация), пользователь должен перейти к следующему представлению. Мне нужно событие, когда пользователь нажимает на это. Спасибо за Ваш ответ. –

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