我已经看过许多互联网上的教程来检测iPhone中的打击但是我的应用程序的要求是我需要检测单次打击和双重打击,以便如果用户单次打击它可以执行操作a并且如果用户打击两次然后一起执行行动b。
有什么办法吗?
全心全意,
答案 0 :(得分: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
}
我还没有测试过,但看起来还不错:)