UISwipeGestureRecognizer向左滑动并向上滑动

时间:2015-04-16 06:29:03

标签: ios objective-c uiswipegesturerecognizer swipe-gesture

我使用UISwipeGestureRecogizer使用leftright轻扫UISwipeGestureRecognizerDirectionRightUISwipeGestureRecognizerDirectionLeft并且其工作完全正常,但默认滑动过于敏感,它只是一个水龙头。

有什么方法可以使它工作,就像scrollView工作时paging enable属性为真,直到用户不抬起手指,它不起作用。
 如果视图在手指移动时不移动,那么它将会很好,并且仅在执行leftright手势并且手指抬起时才起作用。感谢。

1 个答案:

答案 0 :(得分:3)

UISwipeGestureRecognizer不会为您提供更改滑动的灵敏度或任何其他方面的任何选项。要获得对滑动的更多控制,您可以使用以下选项之一:

<强> UIPanGestureRecognizer

以下是UIPanGestureRecognizer尝试的内容:

- (void)handleGesture:(UIPanGestureRecognizer *)gestureRecognizer{
    CGPoint velocity = [gestureRecognizer velocityInView:yourView];
    if(velocity.x > 0){
        //Right gesture
    }else{
        //Left gesture
    }
}

<强> UIResponder

所有UIViews都继承自UIResponder,因此您可以使用touchesBegantouchesMovedtouchesEnded方法来计算触摸。尝试这样的事情:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
    UITouch *touch = [touches anyObject];
    start = [touch locationInView:self.view];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
    UITouch *touch = [touches anyObject];
    CGPoint end = [touch locationInView:self.view];   
    //Compare start and end points here.
}