0

Ich habe mehr als 20 Viewcontrollers in meinem Projekt und Swipe-Geste in globalen ViewController-Klasse hinzugefügt.UIView Swipe Gestenkonflikte mit Tabellensicht in Ziel c

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

Und außer Kraft setzen alle Unterklasse

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

[self.navigationController popViewControllerAnimated:YES];} 

Jetzt habe ich ein Problem (nicht gerade ein Problem), die einige der Viewcontrollers hat Tableviews und dass Swipe wird manchmal nicht (habe auch einige Touch heikle Frage). Gibt es einen Weg, es zu lösen? Ich setze cancelsTouchesInView = No, scheint aber ein Problem auftritt.

Vielen Dank im Voraus.

Antwort

0

Sie sollten in der Lage sein, dies zu beheben, indem Sie & implementieren und in der folgenden UIGestureRecognizerDelegate Methode in der übergeordneten Klasse YES zurückgeben.

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

Ok Danke. Ich habe die Methode in der Elternklasse hinzugefügt, es scheint die Probleme gelöst zu haben. – Gopi

+0

Ok. Sie sollten diese Antwort als richtig markieren, wenn sie dies löst. – Xcoder

+0

Entschuldigung. Jetzt habe ich es getan. – Gopi