我正在使用MapView&我想在annotationView上添加longGesture来删除特定的注释,为此我在委托中的每个annotationView上添加了longGesture - (MKAnnotationView *)mapView:(MKMapView *)mapview viewForAnnotation:(id)annotation
但是annoattaionView没有检测到长手势。有没有办法在mapview中的AnnotationView上添加长手势?
答案 0 :(得分:2)
问题是MKAnnotationView
alredy有一个很长的手势识别器来拖动它,因此根据持续时间(不确定拖动的持续时间是),它会转到那个手势识别器,如果你不这样做需要拖动你可以通过获取视图的所有手势识别器,然后为isKindOfClass
执行UILongGesture
,删除它然后添加自己的手势识别器来删除该长手势识别器。
替代地在UILongGesture
上尝试较短时间可能会有效。
如果您不需要MKAnnotationView的手势识别器的默认行为,您也可以禁用注释视图,如下所示:
[myAnnotationView setEnabled:NO];
然后将识别器添加到注释视图。
希望有所帮助。