在objective-c中是否有任何方法可以找到触摸开始和触摸结束之间的时间?
答案 0 :(得分:19)
// add this ivar to your view controller
NSTimeInterval lastTouch;
// assign the time interval in touchesBegan:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
{
lastTouch = [event timestamp];
}
// calculate and print interval in touchesEnded:
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
{
NSTimeInterval touchBeginEndInterval = [event timestamp] - lastTouch;
NSLog(@"touchBeginEndInterval %f", touchBeginEndInterval);
}
答案 1 :(得分:2)
每个UITouch都有自己的时间/日期标记。比较你感兴趣的那些。在UIResponder class ref。
上找一个lookeAside-SO需要更新代码或发布iPhone应用程序。用iPhone键入他们的javascriptoided文本字段几乎是滑稽的。
答案 2 :(得分:0)
在touchesBegan:withEvent:
方法中,创建一个NSDate对象并将其存储在实例变量中。 (对于非调试目的,每次触摸创建一个日期并使用CFMutableDictionary将日期与触摸相关联。)然后,在touchesEnded:withEvent:
中,检索存储的日期并创建新日期,并将后者发送给{{1} 1}}消息从中减去旧日期,以秒为单位给出结果。