2015-05-23 2 views
0

У меня есть UIScrollView в UINavigationController, но я нахожу, что не могу использовать жест поцелуя системы, когда я касаюсь scrollView, как мне исправить конфликт?Как использовать системный жест поп в UIScrollView?

+0

быть более конкретным, вы хотите вернуться назад при нажатии на просмотр прокрутки? – Wingzero

+0

@Wingzero, нет, обычно он вызывает действие pop, когда я панорамирую с левого края экрана, но это не сработает, если я добавлю scrollView, достигший края экрана. – Rick

+0

хорошо, вам нужно проверить, какой распознаватель жестов терпит неудачу ... вы должны дать более подробную информацию, если хотите, чтобы люди вам помогли. UIScrollView имеет некоторые жесты для масштабирования и прокрутки, вы можете начать здесь, чтобы узнать, какие распознаватели распознаются, и что не удалось. – Wingzero

ответ

1

Fixed, обычай оставил пункт навигации вызывает этот вопрос, я добавить код

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { 
      self.navigationController.interactivePopGestureRecognizer.delegate = nil; 
     } 

, но до сих пор не работает в какой-то ситуации, то следует изменить как

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { 
      self.navigationController.interactivePopGestureRecognizer.delegate = self; 
     } 
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return [gestureRecognizer isKindOfClass:UIScreenEdgePanGestureRecognizer.class]; 
} 
Смежные вопросы