Кажется, что нет никакой гарантии относительно порядка, в котором UITouches появляются при цикле через метод UIGestureRecognizer [locationOfTouch: inView:]. В частности:
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:
всегда будут в надежном порядке. Кто-нибудь может подтвердить или опровергнуть это?