在ios 5中,我可以通过使用新的双击手势覆盖它来禁用双击缩放.但似乎双击手势不再出现在mkmapview附带的gesturerecognizer数组中.
NSArray *gestureRecognizers = [_mapView gestureRecognizers]; for (UIGestureRecognizer *recognizer in gestureRecognizers) { NSLog(@"%@",recognizer); }
在ios 6中没有返回任何内容,在ios 5中它将返回2个识别器,一个用于单击,一个用于双击.
解决方法
我将浏览MKMapView子视图的手势识别器.它可能还在某处.
当然,搞乱另一个视图的GRs有点可疑,并且可能会在Apple下次改变MKMapView时出现问题……
编辑:为了其他人阅读此内容的好处,请检查它是否是UITapGestureRecognizer并且numberOfTapsrequired == 2和numberOfTouchesrequired == 1.
此外,不要完全禁用地图上的双击,而是考虑在注释上添加双击GR,然后执行[mapDoubleTapGR requireGestureRecognizerToFail:annotationDoubleTapGR].再次,hacky – 如果它在下一次操作系统更新中中断,请不要责怪我!