我使用UISwipeGestureRecogizer
使用left
和right
轻扫UISwipeGestureRecognizerDirectionRight
和UISwipeGestureRecognizerDirectionLeft
并且其工作完全正常,但默认滑动过于敏感,它只是一个水龙头。
有什么方法可以使它工作,就像scrollView
工作时paging enable
属性为真,直到用户不抬起手指,它不起作用。
如果视图在手指移动时不移动,那么它将会很好,并且仅在执行left
或right
手势并且手指抬起时才起作用。感谢。
答案 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
,因此您可以使用touchesBegan
,touchesMoved
和touchesEnded
方法来计算触摸。尝试这样的事情:
- (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.
}