Рабочий путь. Соберите все работает на UIMapView
жест распознавателей:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
if (gestureRecognizer == self.myLongPressGestureRecognizer
&& otherGestureRecognizer != self.myPanGestureRecognizer)
{
if (self.otherGestureRecognizers == nil)
self.otherGestureRecognizers = [NSMutableSet set];
[self.otherGestureRecognizers addObject:otherGestureRecognizer];
}
return YES;
}
И отменить их всех, когда ваш жест распознаватель признал:
- (IBAction)measureLongPressed:(UILongPressGestureRecognizer *)recognizer
{
if (recognizer.state == UIGestureRecognizerStateBegan)
{
self.mapView.userInteractionEnabled = NO;
for (UIGestureRecognizer *gr in self.otherGestureRecognizers)
{
gr.enabled = NO;
gr.enabled = YES;
}
self.otherGestureRecognizers = nil;
[self myLongPressDetectedAndMapFreezed];
return;
}
}
возможно дубликат [Как отключить взаимодействие с пользователем на MKMapView?] (HTTP: // StackOverflow .com/questions/15418071/how-to-disable-user-взаимодействия-on-mkmapview) – Desdenova
@Desdenova этот ответ не работает для меня. Знаки распознавания жестов работают в момент, когда я хочу их отменить ... – k06a