У меня есть вертикальная прокрутка UIScrollView
. Я также хочу обрабатывать горизонтальные панорамы, позволяя по умолчанию выполнять вертикальное прокрутку по вертикали. Я поместил прозрачный UIView
поверх прокрутки и добавил к нему распознаватель жесты. Таким образом, я могу получить кастрюли просто отлично, но тогда просмотр прокрутки не получает никаких жестов.
Я реализовал следующие методы UIPanGestureRecognizerDelegate
, надеясь ограничить свой распознаватель жестов только горизонтальными кастрюлями, но это не помогло:
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer
{
// Only accept horizontal pans here.
// Leave the vertical pans for scrolling the content.
CGPoint translation = [gestureRecognizer translationInView:self.view];
BOOL isHorizontalPan = (fabsf(translation.x) > fabsf(translation.y));
return isHorizontalPan;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return (otherGestureRecognizer == _scrollView.panGestureRecognizer);
}