2015-05-12 69 views
1

我有一个页面视图控制器与五个视图控制器显示。滑动手势识别器没有触发?

我曾尝试添加这些轻扫手势,但他们没有被调用?

UISwipeGestureRecognizer *swipeGestureRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleRightSwipe:)]; 
swipeGestureRight.numberOfTouchesRequired = 1; 
swipeGestureRight.direction = (UISwipeGestureRecognizerDirectionRight); 
[self.scrollView addGestureRecognizer:swipeGestureRight]; 

UISwipeGestureRecognizer *swipeGestureLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleLeftSwipe:)]; 
swipeGestureLeft.numberOfTouchesRequired = 1; 
swipeGestureLeft.direction = (UISwipeGestureRecognizerDirectionLeft); 
[self.scrollView addGestureRecognizer:swipeGestureLeft]; 

为什么没有这些被触发,我该怎么办呢?我的目标是检测用户滑动页面视图控制器的方向。

+0

您添加的视图是否启用了用户交互? – AstroCB

回答

0

试试这个

  • 设置你的UIGestureRecognizer

    的代表
  • 实施shouldRecognizeSimultaneouslyWithGestureRecognizer

    -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ 
    return YES; 
    } 
    
  • 实施shouldReceiveTouch

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
    { 
    return YES; 
    } 
    

希望这有助于。让我知道你是否仍然面临这个问题。

+0

嗨,感谢您的回答,但我究竟在哪里实施这两种方法?我只有1页面视图控制器类,我设置委托和数据源像这样'self.delegate = self; self.dataSource = self;'我试图将它们添加到我的视图的上方并且我的方法仍然没有调用? –

+0

@CoolKatStudios:放在任何地方,但在同一个文件..如果仍然不工作,那么还有其他问题... –

0

加手势self.view

[self.view addGestureRecognizer:swipeGestureRight]; 

我希望它会工作

相关问题