MKAnnotationView上的UILongPressGestureRecognizer不适用于单点触控
我一直在尝试在MKAnnotationView
子类中使用MKAnnotationView
。 有趣的是,手势识别器仅在使用两个手指/触摸时触发。
什么阻止手势识别器只用一次触摸就能触发?
履行
UILongPressGestureRecognizer *pressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)]; pressRecognizer.minimumPressDuration = 0.25; pressRecognizer.numberOfTapsRequired = 0; pressRecognizer.numberOfTouchesRequired = 1;
普通UIView
中的相同实现显示了单触操作的预期行为。 然而,有可能使用touchesBegan:
和touchesEnded:
为了获得长按手势,我仍然很好奇这是什么原因。
你看过这个问题吗?
为了使用我的UILongPressGestureRecognizer,我禁用了AnnotationView并为其添加了GestureRecognizer:
[ann_view setEnabled:NO]; UILongPressGestureRecognizer* long_press = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAnnotationView:)]; long_press.minimumPressDuration = 1.5; [ann_view addGestureRecognizer:long_press]; [long_press release];