小编Mar*_*Pen的帖子

UIGestureRecognizer中的多个触摸顺序

似乎无法保证在循环UIGestureRecognizer的方法[locationOfTouch:inView:]时出现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);
}
Run Code Online (Sandbox Code Playgroud)

人们会认为索引为0的点将是第一个UITouch,或者是第一个被释放的点,但通常2个触摸的顺序是混合的.有谁知道如何测试这些事件的顺序?遗憾的是,无法访问UITouch对象本身(使用时间戳).

此外,文档中不保证触摸-locationOfTouch:inView:始终处于可靠的顺序.任何人都可以确认或否认这个吗?

cocoa-touch uikit uigesturerecognizer ios

10
推荐指数
1
解决办法
1459
查看次数

标签 统计

cocoa-touch ×1

ios ×1

uigesturerecognizer ×1

uikit ×1