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 № 1Spójrz na punkt (NSIndexPath *) indexPathForRowAtPoint: (CGPoint)
Będziesz musiał przetłumaczyć punkt gestu na współrzędne dla tableView.