通过UIGestureRecognizer的方法[locationOfTouch:inView:]循环使用UITOUGE时,似乎不能保证UITouches出现的顺序.特别:
for (int i = 0; i < [recognizer numberOfTouches]; i++) { CGPoint point = [recognizer locationOfTouch:i inView:self]; NSLog(@"[%d]: (%.1f,%.1f)",i,point.x,point.y); }
人们会认为,索引为0的点将是第一个UITouch,或者是第一个被释放的点,但是经常是2次触发的顺序被混合在一起.有谁知道如何测试这些事件的顺序?不幸的是,无法访问UITouch对象本身(带有时间戳).
此外,文档中不保证来自-locationOfTouch:inView:将始终保持可靠的顺序.任何人都可以确认还是否认?