iphone开发:在scrollview上滑动识别器

时间:2012-09-03 11:22:06

标签: iphone objective-c ios uiscrollview swipe

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

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

但是我不能有任何记录。我错过了什么吗?感谢。

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

2 个答案:

答案 0 :(得分:0)

您是否在.h文件中注册了UIGestureRecognizerDelegate,如下所示:

@interface yourViewController : UIViewController<UIGestureRecognizerDelegate>

另外

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

答案 1 :(得分:0)

试试这样。如果你没有得到任何NSLog(@" *** SwipeRecognizer ***")输出,那么我认为你在SwipeRecognizer上没有。

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

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