如何检测用户是否将手指放在屏幕上的对象上1秒钟?
谢谢,
马丁
答案 0 :(得分:1)
查看UITouch Class的时间戳属性
时间戳触摸的时间 发生或最后一次突变。 (只读)
@property(非原子,只读) NSTimeInterval时间戳讨论 这个属性的值是 系统启动后的时间,以秒为单位 触摸起源或是 最后改变了。你可以存储和 比较这个的初始值 属性到后续时间戳 UITouch实例的值为 确定触摸的持续时间 并且,如果它被刷,速度 运动对于定义 time-since-boot值,请参阅 systemUptime方法的描述 NSProcessInfo类。
您应该将其与
一起使用- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
根据您的目标操作系统在UIResponder或UIGestureRecognizer类中
答案 1 :(得分:1)
您至少需要一个状态变量和一个计时器。
在目标区域内部触地时,使用当前时间设置状态变量并启动1秒计时器。在目标区域或触摸事件之外的任何触摸移动中,清除状态变量。 1秒定时器关闭后,检查状态变量。如果它仍然有1秒前或更长的时间(因此尚未清除或更改),则触摸已经在目标上至少1秒钟。