Я работаю с MapQuest, но я думаю, что это не проблема.Пользовательская кнопка MQAnnotationView не может быть нажата
У меня есть карта (с MapQuest) и пользовательские контакты на ней. Я могу нажать на контакты, и моя пользовательская выноска (xib-файл с надписями и одной кнопкой) появляется, и все работает нормально. Единственная проблема заключается в том, что я не могу нажать кнопку в пользовательском представлении callout (UIView).
Вот мой код:
-(MQAnnotationView*)mapView:(MQMapView *)aMapView viewForAnnotation:(id<MQAnnotation>)annotation {
static NSString* identifier = @"Pins";
MQAnnotationView * annotationView = (MQAnnotationView *)[self->mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
annotationView = [[MQAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
annotationView.image = [UIImage imageNamed:@"marker_schuhe"];
annotationView.enabled = YES;
annotationView.canShowCallout = NO;
return annotationView;
}
И в моем методе didSelectAnnotationView:
- (void)mapView:(MQMapView *)mapView didSelectAnnotationView:(MQAnnotationView *)view {
callOutView *calloutView = (callOutView *)[[[NSBundle mainBundle] loadNibNamed:@"callOutView" owner:self options:nil] objectAtIndex:0];
CGRect calloutViewFrame = calloutView.frame;
calloutViewFrame.origin = CGPointMake(-calloutViewFrame.size.width/2 + 15, -calloutViewFrame.size.height);
calloutView.frame = calloutViewFrame;
[calloutView.my_button addTarget:self action:@selector(button_pressed:) forControlEvents:UIControlEventTouchUpInside]; //here is something wrong, button_pressed is never called
[view addSubview:calloutView];
}
Спасибо Майкл, но ваше предложение не сработало. Вызовы и кнопка видны, но кнопка не доступна. Когда я нажимаю на весь calloutView, карта приближается. Может быть, здесь основная проблема? –
Привет, Майкл, UIGesture не работает. Может быть, button.frame находится за пределами UIView? Я вижу свое подзаголовок с кнопкой (вот экран) http://s30.postimg.org/r73zxx7up/IMG_1566.png кнопка справа «>» не доступна для кликов, и я абсолютно не знаю почему. –