Как обнаружить событие просмотра сенсорной аннотации? - PullRequest
1 голос
/ 18 июля 2010

У меня есть несколько аннотаций на карте. Я просто хочу обнаружить событие, которое происходит, когда пользователь прикасается к нему. Я выясняю с помощью наблюдателя, я добавляю наблюдателя для каждого аннотации в методе делегата viewForAnnotation Я думал, что это будет работать идеально, но что-то все равно не так. Атрибут «selected» объекта annotationview неожиданно изменит свое значение. Кто-то подскажет, как решить эту проблему. Спасибо!

Ответы [ 2 ]

5 голосов
/ 27 октября 2010

Вы должны узнать о MKMapViewDelegate, для реализации которого необходимо реализовать этот метод:

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

См. Документ Apple http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapViewDelegate_Protocol/MKMapViewDelegate/MKMapViewDelegate.html

0 голосов
/ 02 мая 2013

Вы можете добавить обработчик событий в свой пользовательский вид аннотации:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.superview bringSubviewToFront:self];
    [super touchesBegan:touches withEvent:event];
}

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

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