Objective c 在UIScrollView中识别双触式刷卡

Objective c 在UIScrollView中识别双触式刷卡,objective-c,xcode,ipad,uiscrollview,multi-touch,Objective C,Xcode,Ipad,Uiscrollview,Multi Touch,我有一个全屏幕的UIScrollView(iPad,1024x768,横向模式)。所以我需要识别用两个手指朝任何方向扫过它。这就是我所拥有的(mainScroll是我的类的属性): 及 我必须附加条件 if ([touches count] > 1) 因为它不仅适用于两次(或更多)触摸,也适用于一次 但滑动(两次触摸)仍然是滚动我的UIScrollView。我怎样才能预防它?那么,如何在不影响scrollView的情况下识别滑动呢?UIGestureRecognitor的文档对以下三个属

我有一个全屏幕的UIScrollView(iPad,1024x768,横向模式)。所以我需要识别用两个手指朝任何方向扫过它。这就是我所拥有的(mainScroll是我的类的属性):

我必须附加条件

if ([touches count] > 1)
因为它不仅适用于两次(或更多)触摸,也适用于一次


但滑动(两次触摸)仍然是滚动我的UIScrollView。我怎样才能预防它?那么,如何在不影响scrollView的情况下识别滑动呢?

UIGestureRecognitor的文档对以下三个属性中的每一个都给出了很好的解释:

取消触摸视图-如果手势识别器识别出其手势,它会将该手势的剩余触摸从其视图中解除绑定(因此窗口不会传递它们)。该窗口通过(touchesCancelled:withEvent:)消息取消先前传递的触摸。如果手势识别器无法识别其手势,视图将接收多点触摸序列中的所有触摸

delaysTouchesBegan-只要手势识别器在分析触摸事件时未未能识别其手势,则窗口会阻止将UITouchPhaseBegan阶段中的触摸对象传送到附加视图。如果手势识别器随后识别其手势,则视图不会接收这些触摸对象。如果手势识别器无法识别其手势,则窗口会在调用视图的touchesbeated:withEvent:method(以及可能的后续touchesMoved:withEvent:invocation以通知其当前位置)时传递这些对象

DelaysTouchSend-只要手势识别器在分析触摸事件时未未能识别其手势,窗口将在UITouchPhaseEnded阶段停止将触摸对象传送到附加视图。如果手势识别器随后识别出其手势,则触摸将被取消(在touchscancelled:withEvent:message中)。如果手势识别器无法识别其手势,则窗口将在调用视图的touchesend:withEvent:方法时传递这些对象

这里还有更多:


我认为您需要“delaysTouchesBegan”或“delaystouchesend”,这样滚动视图在手势不符合要求之前不会收到任何触摸(即滚动视图)。

那么您的编程问题是什么?问题是:我怎样才能在不影响滚动视图的情况下识别滑动?
//GestureRecognizer.h
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
     if ([touches count] > 1)
         NSLog(@"Started");
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
     if ([touches count] > 1)
         NSLog(@"Moved");
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
     if ([touches count] > 1)
         NSLog(@"Ended");
}
if ([touches count] > 1)