iOS:是否可以将三点触碰手势识别器添加到MKMapView?
我有一个iOS:是否可以将三点触碰手势识别器添加到MKMapView?,ios,mkmapview,uigesturerecognizer,Ios,Mkmapview,Uigesturerecognizer,我有一个MKMapView,双击时放大(默认行为)。我想在地图视图中添加一个三点式手势识别器,再次缩小到某个初始缩放级别。 问题是内置的双击识别器会先触发。为了延迟此操作,必须以某种方式访问双击识别器,但至少在iOS6中,视图属性手势识别器不包含地图视图的双击识别器。 那么,是否有可能以某种方式延迟双抽头识别器,以允许三抽头识别器首先触发 检查UIgestureRecognitizer类中的实例方法requiregestureRecognitizerToFail : 在接收器和另一个手势识别器之
MKMapView
,双击时放大(默认行为)。我想在地图视图中添加一个三点式手势识别器,再次缩小到某个初始缩放级别。问题是内置的双击识别器会先触发。为了延迟此操作,必须以某种方式访问双击识别器,但至少在iOS6中,
视图
属性手势识别器
不包含地图视图的双击识别器。那么,是否有可能以某种方式延迟双抽头识别器,以允许三抽头识别器首先触发 检查
UIgestureRecognitizer
类中的实例方法requiregestureRecognitizerToFail
:
在接收器和另一个手势识别器之间创建依赖关系
例如:
[doubleTap requireGestureRecognizerToFail:tripleTap];
更新 在闲逛了一会儿之后,我让它像这样工作(假设您有一个名为
mapView
的MKMapView
):
三抽头选择器:
- (void)handleTripleTap:(UIGestureRecognizer *)gestureRecognizer {
NSLog(@"Triple Tap Detected..");
}
现在双击仍然会缩放
MKMapView
,而三次点击在不缩放的情况下成功执行handleTripleTap
。引用链接中答案的可能重复依赖于访问地图视图的gestureRecognizers属性,但这在iOS6中显然不再可能。我理解,但我认为这表明苹果不想让你做你想做的事。谢谢你的回答。我也想过这个。问题是,我不知道如何访问内置的双击识别器。啊,我没有意识到,苹果不允许按照@matt在上面评论中的建议进行操作。真倒霉我将对此进行更深入的研究,如果我发现了什么,我会发布更多的信息。@Reinhard männer,我现在已经开始工作了-请参阅我的更新帖子。希望这有帮助!非常感谢,你太棒了!它起作用了。我不会想到这个解决方案。很高兴这次我比几个月前在你的另一个问题(UIButton backgrounds)中得到了更多的帮助!
- (void)handleTripleTap:(UIGestureRecognizer *)gestureRecognizer {
NSLog(@"Triple Tap Detected..");
}