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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM