iphone开发:在滚动视图上滑动识别器



在我的应用程序中,我的背景滚动条上有一个向上滑动手势识别器,但不知怎么的,它不起作用。这是我在下面的代码

它在视图中DidLoad

UISwipeGestureRecognizer *Swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeRecognizer:)];
Swipe.direction = UISwipeGestureRecognizerDirectionUp;
[backgroundScroller addGestureRecognizer:Swipe];

它就是SwipeRecognizer:

- (void) SwipeRecognizer:(UISwipeGestureRecognizer *)sender {
    if (sender.direction | UISwipeGestureRecognizerDirectionUp){
        NSLog(@" *** SWIPE UP ***");
    }
}

但是我没有日志。我是不是错过了什么?谢谢

编辑:我发现了问题。当我说没有启用滚动时,我可以识别出这个手势。但我需要同时进行滚动和手势识别。这不可能吗

让你在.h文件中注册UIGestureRecognizerDelegate,如下所示:

@interface yourViewController : UIViewController<UIGestureRecognizerDelegate>

还有

-(void)SwipeRecognizer:(UISwipeGestureRecognizer *)sender{
  if (sender.direction == UISwipeGestureRecognizerDirectionUp){
    NSLog(@" *** SWIPE UP ***");
  }
}

这样试试。如果你没有发布任何NSLog(@" *** SwipeRecognizer ***"),那么我认为你没有使用SwipeRecognizer。

- (void) SwipeRecognizer:(UISwipeGestureRecognizer *)sender {
 NSLog(@" *** SwipeRecognizer ***");
if (sender.direction == UISwipeGestureRecognizerDirectionUp){
    NSLog(@" *** SWIPE UP ***");
}
}

我认为这将对你有所帮助。

最新更新