iOS touch事件单击双击区分响应

若是您的 iPhone 应用里有个 view,既有单击操做又有双击操做。用户双击 view 时,老是先执行一遍单击的操做再执行双击的操做。因此直接判断时就会发现不能直接进入双击操做。下面是区分 touch 事件是单击仍是双击的方法orm

-(void)singleTap{
    NSLog(@"Tap 1 time");
}
-(void)doubleTap{
    NSLog(@"Tap 2 time");
    
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];
    
    NSTimeInterval delaytime = 0.4;//本身根据须要调整
    
   switch (touch.tapCount) {
       case 1:
           [self performSelector:@selector(singleTap) withObject:nil afterDelay:delaytime];
           break;
       case 2:{
           [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(singleTap) object:nil];
           [self performSelector:@selector(doubleTap) withObject:nil afterDelay:delaytime];
           
       }
            break;
       default:
           break;
   }
}事件

相关文章
相关标签/搜索