MKOverlayView上的UIGestureRecognizer没有触发动作

时间:2011-11-29 10:00:18

标签: iphone mapkit uigesturerecognizer

我试图通过为每个多边形添加手势识别器来制作一些多边形(MKOverlayViews)。

我有一个包含KMLParsers的NSArray(来自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。

0 个答案:

没有答案