Проблемы с AnnotationView и кнопкой Закрыть - PullRequest
0 голосов
/ 12 марта 2012

Мне нужна помощь с MKMapView. На карте я показываю картинки после того, как клик по картинке показывает всплывающее окно с самым большим изображением и заголовком (AnnotationView), но я не могу добавить какие-либо кнопки ... они просто не работают. Затем я пробую это

cancelButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[cancelButton setImage:[UIImage imageNamed:@"map_dialog_cancel.png"] forState:UIControlStateNormal];
[cancelButton setFrame:CGRectMake(0.0 , 0.0, 25.0, 25.0 )];
[cancelButton addTarget:self action:@selector(cancelButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
self.leftCalloutAccessoryView = cancelButton;
self.canShowCallout = YES;

но теперь начать показывать стандартное всплывающее окно с кнопкой над моим настраиваемым всплывающим окном ... Как я могу поместить кнопку закрытия в моем всплывающем окне?

1 Ответ

0 голосов
/ 13 марта 2012

хорошо, проблемы решены, все что вам нужно в вашем классе AnnotationView добавлено

 -(UIView*)hitTest:(CGPoint)point withEvent:(UIEvent*)event
{

    [super hitTest:point withEvent:event];
    if (point.x > buttonFrame.origin.x &&  point.y > buttonFrame.origin.y   && point.x <      buttonFrame.origin.x +buttonFrame.size.width && point.y < buttonFrame.origin.y +buttonFrame.size.height) 
{
    NSLog(@"handlePinButtonTap: ");
   [delegate closePopUpPressed:self];

}
 return nil;
}

У кого есть лучшее решение, пожалуйста, напишите здесь

...