0

J'ai plus de 20 viewcontrollers dans mon projet et j'ai ajouté un mouvement de balayage dans la classe globale viewcontroller.Le mouvement de balayage UIView est en conflit avec la tableview dans l'objectif c

UISwipeGestureRecognizer *rightSwipeGesture = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(navigateToPreviousScreen:)]; 
rightSwipeGesture.cancelsTouchesInView = YES; 
rightSwipeGesture.direction = UISwipeGestureRecognizerDirectionRight; 
[self.view addGestureRecognizer:rightSwipeGesture]; 

Et remplacer tous les sous classe

- (void)navigateToPreviousScreen:(UISwipeGestureRecognizer *)sender { 

[self.navigationController popViewControllerAnimated:YES];} 

Maintenant, je suis un problème (pas exactement un problème), les quelques-uns des viewcontrollers a tableviews et que swipe est pas du travail parfois (aussi eu un certain contact problème sensible). Y a-t-il un moyen de le résoudre? J'ai mis cancelsTouchesInView = Non, mais un problème semble se produire.

Merci à l'avance.

Répondre

0

Vous devez pouvoir résoudre ce problème en implémentant & en renvoyant YES dans la méthode UIGestureRecognizerDelegate suivante dans la classe parente.

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
     return YES; 
} 
+0

Ok Merci. J'ai ajouté la méthode dans la classe parent, il semble résolu les problèmes. – Gopi

+0

Ok. vous devriez marquer cette réponse comme correcte si cela résout. – Xcoder

+0

désolé. maintenant je l'ai fait. – Gopi