dimanche 10 mai 2015

ios not get other finger (multitouch) event in UILongPressGestureRecognizer

How can I get multitouch and single touch event?

I try to touch moving (not touch up) left finger, now I click right finger on the screen, But I try to get right finger touch event or touch point.

I set the log [gesture numberOfTouches] or [gesture numberOfTouchesRequired]. I still get 1, not get 2.

In my ViewDidLoad method I set below code:

 - (void)viewDidLoad {
     [super viewDidLoad];
 self.view.multipleTouchEnabled =  YES;
 self.view.exclusiveTouch = NO;

 UILongPressGestureRecognizer *panelLongPressGestureRecognizer =
 [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(panelLongPressRecgonizerAction:)];
 panelLongPressGestureRecognizer.delegate = self;

//panelLongPressGestureRecognizer.numberOfTapsRequired = 1;
//panelLongPressGestureRecognizer.numberOfTouchesRequired = 1;
panelLongPressGestureRecognizer.minimumPressDuration = 0.001;
 [self.view addGestureRecognizer:panelLongPressGestureRecognizer];


 UILongPressGestureRecognizer *panelLongDoublePressGestureRecognizer =
 [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(panelLongPressRecgonizerAction:)];
 panelLongDoublePressGestureRecognizer.delegate = self;
 panelLongDoublePressGestureRecognizer.numberOfTapsRequired = 2;
 panelLongDoublePressGestureRecognizer.numberOfTouchesRequired = 2;
 panelLongDoublePressGestureRecognizer.minimumPressDuration = 0.001;
 [self.view addGestureRecognizer:panelLongDoublePressGestureRecognizer];
 }

 - (void)panelLongPressRecgonizerAction:(UILongPressGestureRecognizer *) gestureRecognizer
 {
 switch (gestureRecognizer.state) {
    case UIGestureRecognizerStateBegan:
        NSLog(@" === long press began ===");
        break;
    case UIGestureRecognizerStatePossible:
        break;
    case UIGestureRecognizerStateChanged:
        NSLog(@" === long press changed ===");
        [self pressChanged:gestureRecognizer];
        break;
    case UIGestureRecognizerStateEnded:
        NSLog(@" === long press end ===");
        break;
    case UIGestureRecognizerStateCancelled:
        NSLog(@" === long press cancell ===");
        break;
    case UIGestureRecognizerStateFailed:
        NSLog(@" === long press failed ===");
        break;


}
NSLog(@" ");

}

- (void) pressChanged:(UILongPressGestureRecognizer *) gesture
{
    NSLog(@"moved guesture.number of touches:%ld", [gesture numberOfTouches]);
    NSLog(@"moved numberOfTouchesRequired of touches:%ld", [gesture numberOfTouchesRequired]);

}

I still get log:

 2015-05-11 14:25:46.117 DroneG2[7521:1149008]  === long press changed ===
 2015-05-11 14:25:46.118 DroneG2[7521:1149008] moved guesture.number of touches:1
 2015-05-11 14:25:46.118 DroneG2[7521:1149008] moved numberOfTouchesRequired of touches:1

Have anyone know where is my question in my code?

I want to get other finger touch point or event when I moving?

thank you very much.

Aucun commentaire:

Enregistrer un commentaire