如何检测所有手指何时离开屏幕

时间:2015-01-07 11:52:29

标签: ios ios8 touch-event

我想准确检测所有手指离开手指的时间。

但是当我测试时 -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

我发现使用touches.count == event.allTouches.count并不总是有效。

2 个答案:

答案 0 :(得分:1)

可能会针对用户执行的部分或全部触摸调用触摸结束。如果您要跟踪多个同时触摸,则需要在touchesBegan上统计所有这些内容,然后在touchesEnded上减去该数量,直到您获得归零。

touches.count == touches.count永远是平等的,因为你正在比较一件事。

  • 创建NSInteger实例变量
  • touches.count
  • 中按touchesBegan递增
  • touches.count
  • 中将其减少touchesEnded
  • 检查您的点数是否为零。

希望有所帮助!

答案 1 :(得分:0)

  

touches.count == event.allTouches.count并不总是有效

每个单独的触摸“属于”视图(其最初受到测试的视图)。 touches NSSet中唯一的触摸是针对视图的那些触摸。但是,该事件可能包含属于其他视图的触摸。因此,您无法以这种方式检测整个多点触控事件何时结束。实际上,如果用户停止触摸此视图但其他手指向下,则此视图将不会为此获取任何事件。