我想准确检测所有手指离开手指的时间。
但是当我测试时
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
我发现使用touches.count == event.allTouches.count
并不总是有效。
答案 0 :(得分:1)
可能会针对用户执行的部分或全部触摸调用触摸结束。如果您要跟踪多个同时触摸,则需要在touchesBegan
上统计所有这些内容,然后在touchesEnded
上减去该数量,直到您获得归零。
touches.count == touches.count
永远是平等的,因为你正在比较一件事。
NSInteger
实例变量touches.count
touchesBegan
递增
touches.count
touchesEnded
希望有所帮助!
答案 1 :(得分:0)
touches.count == event.allTouches.count并不总是有效
每个单独的触摸“属于”视图(其最初受到测试的视图)。 touches
NSSet中唯一的触摸是针对此视图的那些触摸。但是,该事件可能包含属于其他视图的触摸。因此,您无法以这种方式检测整个多点触控事件何时结束。实际上,如果用户停止触摸此视图但其他手指向下,则此视图将不会为此获取任何事件。