检测对象的保持 - iPhone目标C.

时间:2010-10-30 07:39:06

标签: iphone objective-c uitouch

如何检测用户是否将手指放在屏幕上的对象上1秒钟?

谢谢,

马丁

2 个答案:

答案 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秒钟。