Atualmente tenho uma configuração de:
Um RootVC, com um UIPanGestureRecognizer em self.view. Em seguida, o RootVC tem um filho UITableViewController e, portanto, UITableViewController.view é uma subvisualização de self.view.
As células no UITableViewController também possuem reconhecedores de gestos que permitem que sejam deslocados lateralmente. Isso funciona perfeitamente quando o UITableViewController é em si o controlador de visualização raiz.
Meu problema é que estou tentando passar um gesto específico do reconhecedor de gesto self.view para as células da tabela. Eu já tentei delegados:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
e
-(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer
Eu posso identificar corretamente os gestos que eu quero enviar abaixo e retornar NO nessa instância, mas isso parece cancelar o gesto em vez de passá-lo para as subvisualizações.
Eu sei que eu poderia apenas ligar
[self.view.subviews[0] gestureShouldBegin:gestureRecognizer];
Mas como são as células de exibição de tabela, não consigo determinar qual célula o gesto deve ser enviado também.
Eu estive pensando em algo como
[[self.childViewControllers[0] cellForRowAtIndexPath:indexPath] gestureShouldBegin:gestureRecognizer];
Funcionaria mas eu não sei como determinar o indexPath correto.
Alguma ideia?
Respostas:
0 para resposta № 1Olhe para (NSIndexPath *) ponto indexPathForRowAtPoint: (CGPoint)
Você precisará traduzir o ponto do gesto para as coordenadas da tableView primeiro.