如何在iphone sdk中的annotationView上检测长手势

时间:2012-08-22 14:14:42

标签: iphone sdk

我正在使用MapView&我想在annotationView上添加longGesture来删除特定的注释,为此我在委托中的每个annotationView上添加了longGesture - (MKAnnotationView *)mapView:(MKMapView *)mapview viewForAnnotation:(id)annotation

但是annoattaionView没有检测到长手势。有没有办法在mapview中的AnnotationView上添加长手势?

1 个答案:

答案 0 :(得分:2)

问题是MKAnnotationView alredy有一个很长的手势识别器来拖动它,因此根据持续时间(不确定拖动的持续时间是),它会转到那个手势识别器,如果你不这样做需要拖动你可以通过获取视图的所有手势识别器,然后为isKindOfClass执行UILongGesture,删除它然后添加自己的手势识别器来删除该长手势识别器。

替代地在UILongGesture上尝试较短时间可能会有效。

如果您不需要MKAnnotationView的手势识别器的默认行为,您也可以禁用注释视图,如下所示:

[myAnnotationView setEnabled:NO];然后将识别器添加到注释视图。

希望有所帮助。