2012-01-31 148 views
-1

家伙,我想设置触摸的动作。如果人们进行单一触摸 - 一个动作,其他 - 不同。 我写这段代码在我的touchesBegan方法:检测触摸次数

 UITouch *touch = [event.allTouches anyObject]; 
     BOOL tappedTwice = NO; 
     if ([touch tapCount] == 2) { 
      tappedTwice = YES; 
      NSLog(@"double touch"); 
     } 
     else if ([touch tapCount] == 1 && !tappedTwice) { 
      NSLog(@"single touch"); 
     } 

但它检测到单点触摸,并在其后双,但它在我的情况不正确。你有什么想法吗?

+2

为什么不使用UITapGestureRecognizer? – CodaFi 2012-01-31 05:00:19

+0

我试过了,但是失败了。 – werbary 2012-01-31 05:09:00

+0

向我们展示没有工作的代码,并解释它做了什么,你不喜欢。 – 2012-01-31 05:23:23

回答

2

检查此link。只是配置要求自来水的数量通过设置

[tapGestureRecognizer setNumberOfTapsRequired:2]; 

,然后处理这个方法

- (void)handleTap:(UITapGestureRecognizer *)sender {  
     if (sender.state == UIGestureRecognizerStateEnded)  {  
     // handling code  
     } 
}