UIGestureRecognizer на MKOverlayView не запускает действие - PullRequest
1 голос
/ 29 ноября 2011

Я пытаюсь сделать несколько полигонов (MKOverlayViews) применимыми, добавив к каждому из них распознаватель жестов.

У меня есть NSArray, содержащий KMLParsers (из примера кода KMLViewer).

-(MKOverlayView*)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay{

     for (NSString *key in kmls) {

          KMLParser *kml2=[kmls objectForKey:key];
          MKOverlayView *oView;

          if ( (oView = [kml2 viewForOverlay:overlay]) ) {

               if (layerNumber == 8) {
                    NSLog(@"8");
                    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                           initWithTarget:self
                                                   action:@selector(showZoneText:)];
                    tap.numberOfTapsRequired = 1;
                    tap.numberOfTouchesRequired = 1;
                    [oView addGestureRecognizer:tap];
                    [tap release];
               }
               return oView;
          }
     }
     return nil;
}

Этот код регистрирует 8, поэтому выполняется блок «if» и отображается номер слоя 8.

Однако метод «showZoneText» никогда не запускается, когда я нажимаю на полигоны (NSLog вэтот метод никогда не отображается в консоли).

-(void)showZoneText:(UITapGestureRecognizer*)recognizer{
    NSLog(@"show");
}

Любая помощь по этому поводу?

спасибо,

G.

...