在我的应用中,我有一个UIView
派生类Canvas
,它使用touchesBegan: withEvent:
,touchesMoved: withEvent:
和touchesEnded: withEvent:
在画布中绘制。我还想使用滑动来加载数组中的上一个(或下一个)画布。我尝试设置以下手势(和右手相似):
UISwipeGestureRecognizer* leftSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget: self action: @selector(pageFlipNext)];
leftSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
leftSwipe.numberOfTouchesRequired = 2;
[_canvas addGestureRecognizer: leftSwipe];
[leftSwipe release];
但是我的两个手指滑动仍被视为单手指法。 如何让我的应用程序正确处理双指滑动?
答案 0 :(得分:0)
我认为您可以使用UIPanGestureRecognizer
UIPanGestureRecognizer是具体的 UIGestureRecognizer的子类 寻找平移(拖动)手势。 用户必须按一个或多个 他们把它放在视图上的手指。
答案 1 :(得分:0)
首先,我会开始验证_canvas.multipleTouchEnabled
是否设置为YES
。如果不是,请将其设置为YES
。
您可能还想考虑
leftSwipe.delaysTouchesBegan = YES;
这会延迟将触摸发送到_canvas
,直到手势失败。您也可以使用UIPanGestureRecognizer
并执行此类操作,
[pan requireGestureRecognizerToFail:leftSwipe];