0

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

它在 viewDidLoad

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 ***");
    }
}

但是我不能有任何日志。我错过了什么吗?谢谢。

编辑:我发现了问题。当我说未启用滚动时,我可以识别手势。但我需要同时滚动和手势识别。不可能吗?

4

2 回答 2

0

像这样试试。如果您没有得到任何NSLog(@" *** SwipeRecognizer ***")输出,那么我认为您没有使用 SwipeRecognizer。

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

我想这会对你有所帮助。

于 2012-09-03T11:52:54.440 回答
0

你有没有像这样在 .h 文件中注册 UIGestureRecognizerDelegate :

@interface yourViewController : UIViewController<UIGestureRecognizerDelegate>

-(void)SwipeRecognizer:(UISwipeGestureRecognizer *)sender{
  if (sender.direction == UISwipeGestureRecognizerDirectionUp){
    NSLog(@" *** SWIPE UP ***");
  }
}
于 2012-09-03T11:24:28.810 回答