2012-04-11 105 views
0

我見過很多互聯網上的教程來檢測iPhone的打擊,但我的應用程序的要求是,我需要檢測一次性打擊和兩次打擊,這樣,如果用戶吹單次,它可以執行操作,如果用戶一起吹兩次然後執行動作b。iPhone中的雙擊檢測

任何方式來做到這一點?

感謝所有,

回答

2

當然,如果你知道如何檢測一擊,你可能只是有一個門檻&看到一個計時器,如果再次打擊在這段時間內發生了什麼?喜歡的東西 -

-(void)userDidBlow { 

    if (hasBlownOnce) { 

     hasBlownOnce = NO; 
     [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(singleBlowTimedOut) object:nil]; 

     // do double-blow stuff 

    } else { 

     hasBlownOnce = YES; 

     [self performSelector:@selector(singleBlowTimedOut) withObject:nil afterDelay:kDoubleBlowTime]; 

    } 

} 


-(void)singleBlowTimedOut { 

    hasBlownOnce = NO; 

    // do single-blow stuff 

} 

我沒有測試它,但它看起來不錯:)

+0

我還沒有測試它,但它看起來確定。 :) – necixy 2012-04-12 05:07:50

+0

你有機會嘗試它嗎? – SomaMan 2012-04-13 08:46:54

+0

還不是因爲項目稍後會開始。如果得到任何成功或失敗,我會保持張貼狀態。 :) – necixy 2012-04-15 06:52:20