Проблема в том, что жест смахивания будет также распознаваться как panGesture.
Что вам нужно сделать, это установить делегат для класса, реализующего метод:
- (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
Это позволит вам распознать два жеста одновременно, но вам должно быть ясно, что всегда, когда вызывается ваш удар, будет вызываться и ваша панорама.
Из яблочной документации :
Этот метод вызывается, когда распознавание жеста либо gestRecognizer, либо другим GestureRecognizer блокирует распознавание другого жеста распознавателем жестов. Обратите внимание, что возвращение YES гарантирует одновременное распознавание; возвращение NO, с другой стороны, не гарантирует предотвращения одновременного распознавания, потому что делегат другого распознавателя жестов может вернуть YES.