在iOS中,两个手指轻扫v。一个指状拖动

时间:2011-07-06 08:04:03

标签: iphone objective-c ios ipad

在我的应用中,我有一个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];

但是我的两个手指滑动仍被视为单手指法。 如何让我的应用程序正确处理双指滑动?

2 个答案:

答案 0 :(得分:0)

我认为您可以使用UIPanGestureRecognizer

  

UIPanGestureRecognizer是具体的   UIGestureRecognizer的子类   寻找平移(拖动)手势。   用户必须按一个或多个   他们把它放在视图上的手指。

答案 1 :(得分:0)

首先,我会开始验证_canvas.multipleTouchEnabled是否设置为YES。如果不是,请将其设置为YES

您可能还想考虑

leftSwipe.delaysTouchesBegan = YES;

这会延迟将触摸发送到_canvas,直到手势失败。您也可以使用UIPanGestureRecognizer并执行此类操作,

[pan requireGestureRecognizerToFail:leftSwipe];