在我的应用中,我有这段代码:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.view isKindOfClass:[UIScrollView class]]){
return YES;
}
else return NO;
}
在此我控制我的触摸是否在scrollView内部,但现在我想检查触摸是简单触摸还是轻扫手势,有没有办法检测它? 感谢
答案 0 :(得分:8)
您在上面编写的方法是UIGestureRecognizerDelegate。这是一个委托方法,当您放置观察者的特定手势被检测到时,将调用该方法。
为了识别滑动手势,您必须将Gesture识别器添加到您要检测的View上,如下所示:
UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
您可以使用方法 handleSwipeForm:
进行手势检测如果你想让上面的委托被调用,那么也要添加这一行,
recognizer.delegate = self;
答案 1 :(得分:0)
使用UISwipeGestureRecognizer
检测滑动手势(您可以设置滑动方向:UISwipeGestureRecognizer.direction
)
用UITapGestureRecognizer
来检测分接头(UITapGestureRecognizer.numberOfTapsRequired
设置所需的分接头数以触发识别器(例如双击)
答案 2 :(得分:0)
您必须使用UISwipeGestureRecognizer来检测滑动手势。
UISwipeGestureRecognizer *swipeGest= [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeRecognizer:)];
[swipeGest setDirection:(UISwipeGestureRecognizerDirectionRight)];
[[self view] addGestureRecognizer:swipeGest];
swipeGest.delegate = self;
setDirection用于设置滑动检测方向。
- (void)SwipeRecognizer:(UIGestureRecognizer *)gestureRecognizer
{
}
这里我们将在检测到滑动手势后编写要执行的功能。