Обнаружение касания двумя пальцами в UIIMageView - PullRequest
1 голос
/ 30 июня 2011

Я пытаюсь обнаружить касание двумя пальцами объекта UIImageView.В xib я поставил multi-touch enbled.Затем я реализовал следующий код:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    //NSLog(@"%@", [[touches anyObject] class]);
    UITouch* touch = [touches anyObject];
    NSLog(@"%@", [touch class]);
    if ([touches count] > 1)
        NSLog(@"multi touches: %d fingers", [touches count]);

    NSUInteger numTaps = [touch tapCount];

    if (numTaps == 1) {
        NSLog(@"single tap");
    } else {
        NSLog(@"multi tap: %d", numTaps);
    }
}

Что на самом деле радует этот код: это обнаружение нескольких нажатий, а не мультитач.Как я могу обнаружить, что пользователь коснулся объекта двумя пальцами (Multi-Touch).

Спасибо

Ответы [ 3 ]

3 голосов
/ 30 июня 2011

Используйте распознаватели жестов следующим образом:

UITapGestureRecognizer *twoFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleFingerTap:)];
twoFingerTap.numberOfTouchesRequired = 2;
[super addGestureRecognizers:twoFingerTap];

http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/GestureRecognizers/GestureRecognizers.html

0 голосов
/ 30 июня 2011

Вы можете использовать объект события так же, как

 NSSet *touch = [event allTouches];
 int touchCounts = [touch count];
 if(touchCounts >2)
 {
 //Multitouch.
 }
0 голосов
/ 30 июня 2011

На этом этапе вам действительно лучше использовать распознаватель жестов, ища два касания двумя пальцами.

...