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

如果您的 iPhone 应用里有个 view,既有单击操作又有双击操作。用户双击 view 时,总是先执行一遍单击的操作再执行双击的操作。所以直接判断时就会发现不能直接进入双击操作。下面是区分 touch 事件是单击还是双击的方法

-(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;
   }
}

posted @   PPDev  阅读(1348)  评论(4编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
历史上的今天:
2011-10-29 IE、FF、Safari、OP不同浏览器兼容报告
点击右上角即可分享
微信分享提示