Ответ 1
Хорошо, потому что никто не знал, мне пришлось потратить одну техническую поддержку Apple на это.; О)
Поскольку у MKMapView, очевидно, есть свои собственные распознаватели для взаимодействия с пользователем, вы должны придерживаться протокола UIGestureRecognizerDelegate и реализовать (BOOL)gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
следующим образом:
- (void)viewDidLoad
{
...
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(showPan)];
panGesture.delegate = self;
[appDelegate.mapView addGestureRecognizer:panGesture];
[panGesture release];
}
- (void)showPan
{
NSLog(@"pan!");
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
Затем он работает как шарм.