UILongPressGestureRecognizer на MKAnnotationView не работает для одного касания - PullRequest
1 голос
/ 05 ноября 2011

Я пытался использовать UILongPressGestureRecognizer в MKAnnotationView подклассе.Интересно, что распознаватель жестов срабатывает только при использовании двух или двух касаний.

Что мешает запуску распознавателя жестов одним касанием?

Реализация

UILongPressGestureRecognizer *pressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self
                                                                                                      action:@selector(handleLongPress:)];
pressRecognizer.minimumPressDuration = 0.25;
pressRecognizer.numberOfTapsRequired = 0;
pressRecognizer.numberOfTouchesRequired = 1;

Та же реализация в обычном UIView показывает ожидаемое поведение при работе одним касанием.Тем не менее, можно использовать touchesBegan: и touchesEnded:, чтобы заставить работать длинный жест прессы. Мне все еще интересно, какова причина этого.

1 Ответ

2 голосов
/ 09 ноября 2011

Вы видели этот вопрос ?

Для использования моего 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];
...