/ / Przekazywanie zdarzeń UIGestureRecognizer do elementu podrzędnego TableViewCells - ios, target-c, uitableview, uiviewcontroller, uigesturerecognizer

Przekazywanie zdarzeń UIGestureRecognizer dzieciom TableViewCells - ios, target-c, uitableview, uiviewcontroller, uigesturerecognizer

Obecnie mam konfigurację:

RootVC, z UIPanGestureRecognizer na self.view. Następnie RootVC ma potomny UITableViewController, a zatem UITableViewController.view jest podzbiorem self.view.

Komórki w kontrolerze UITableViewController mają również narzędzia do rozpoznawania gestów umożliwiające ich przesuwanie w bok. Działa to doskonale, gdy kontroler UITableViewController sam jest kontrolerem widoku głównego.

Mój problem polega na tym, że staram się przekazać konkretny gest z rozpoznawalnego gestu self.view do komórek tabeli. Próbowałem delegatów:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

i

-(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer

Mogę poprawnie zidentyfikować gesty, które chcę wysłać poniżej i zwrócić NIE w tej instancji, ale to wydaje się anulować gest, zamiast przekazywać go do subviews.

Wiem, że mogę po prostu zadzwonić

[self.view.subviews[0] gestureShouldBegin:gestureRecognizer];

Ale ponieważ jest to komórka widoku tabeli, nie mogę określić, która komórka powinna również wysłać gest.

Myślałem coś w stylu

[[self.childViewControllers[0] cellForRowAtIndexPath:indexPath] gestureShouldBegin:gestureRecognizer];

Byłby sprawny, ale nie wiem, jak określić poprawną ścieżkę indexPath.

Jakieś pomysły?

Odpowiedzi:

0 dla odpowiedzi № 1

Spójrz na punkt (NSIndexPath *) indexPathForRowAtPoint: (CGPoint)

Będziesz musiał przetłumaczyć punkt gestu na współrzędne dla tableView.