I’ve subclassed UITableViewCell and in that class I apply a Pan gesture recogniser:
UIPanGestureRecognizer *panning = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePanning:)];
panning.minimumNumberOfTouches = 1;
panning.maximumNumberOfTouches = 1;
[self.contentView addGestureRecognizer:panning];
[panning release];
I then implement the delegate protocol which is supposed to allow simultaneous gestures in the table’s view:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
Then I place a log inside the handlePanning method just to see when it’s detected:
- (void)handlePanning:(UIPanGestureRecognizer *)sender {
NSLog(@"PAN");
}
My problem is that I’m not able to vertically scroll through the list of cells in the tableview and that handlePanning is called no matter which direction I pan.
What I want is for handlePanning to only be called when there is only horizontal panning and not vertical. Would appreciate some guidance.
Have you tried setting
panningsdelegate property?You’ll also need to conform that class to UIGestureRecognizerDelegate.