禁用MKMapView(iOS 6)中的双击缩放

Lud*_*vig 6 objective-c mkmapview ios ios5 ios6

在ios 5中,我可以通过使用新的双击手势覆盖它来禁用双击缩放.但似乎双击手势不再出现在mkmapview附带的gesturerecognizer数组中.

NSArray *gestureRecognizers = [_mapView gestureRecognizers];
for (UIGestureRecognizer *recognizer in gestureRecognizers) {
    NSLog(@"%@", recognizer);
}
Run Code Online (Sandbox Code Playgroud)

在ios 6中没有返回任何内容,在ios 5中它将返回2个识别器,一个用于单击,一个用于双击.

tc.*_*tc. 7

我将浏览MKMapView子视图的手势识别器.它可能还在某处.

当然,搞乱另一个视图的GRs有点可疑,并且可能会在Apple下次改变MKMapView时出现问题......

编辑:为了其他读这篇文章的人的利益,检查它是否UITapGestureRecognizer和那个numberOfTapsRequired == 2numberOfTouchesRequired == 1.

此外,不要完全禁用地图上的双击,而是考虑在注释上添加双击GR然后执行[mapDoubleTapGR requireGestureRecognizerToFail:annotationDoubleTapGR].再次,hacky - 如果它在下一次操作系统更新中中断,请不要责怪我!