touchchesCancelled срабатывает при использовании трех пальцев - PullRequest
1 голос
/ 22 ноября 2011

У меня есть простое приложение, которое печатает координаты всех событий касаний.В симуляторе он отлично работает.

На моем устройстве (iPhone) он отлично работает с двумя пальцами .Когда я быстро нажимаю тремя пальцами, запускается событие touchesCancelled.

Может кто-нибудь объяснить мне это?Это код для печати (в случае, если проблема лежит там), который находится в моем UIView.

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    for (UITouch *touch in touches) {
        CGPoint location = [touch locationInView:touch.view];
        NSLog(@"Began  %f %f",  location.x, location.y);
    }
}


-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{  
    for (UITouch *touch in touches) {
        CGPoint location = [touch locationInView:touch.view];
        NSLog(@"Moved  %f %f",  location.x, location.y);
    }
}


-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    for (UITouch *touch in touches) {
        CGPoint location = [touch locationInView:touch.view];
        NSLog(@"Ended  %f %f",  location.x, location.y);
    }
}

-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"Phase: Touches cancelled");

    for (UITouch *touch in touches) {
        CGPoint location = [touch locationInView:touch.view];
        NSLog(@"Cancelled  %f %f",  location.x, location.y);

    }
}

Пример последовательности такой:

Began  38.000000 263.000000
Began  173.500000 238.500000
Moved  41.500000 263.000000
Phase: Touches cancelled   <<<< third touch
Cancelled  41.500000 263.000000
Cancelled  173.500000 238.500000

Спасибо.

...