Custom UITableViewCell with UIScrollView

2019-09-03 05:11发布

问题:

Cell doesn't receive touch events, when there is UIScrollView inside UITableViewCell. Is there any way to cancel tap events for UIScrollView (needs only to handle scrolling)?

回答1:

If you need touches to go through, implement a subclass of UIScrollView, and add these:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{    
    // Pass to parent
    [super touchesBegan:touches withEvent:event];
    [self.nextResponder touchesBegan:touches withEvent:event];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    // Pass to parent
    [super touchesEnded:touches withEvent:event];
    [self.nextResponder touchesEnded:touches withEvent:event];
}

The cell only interecepts taps, so it'll work.



回答2:

This is brilliant! I was pulling my hair on this one.