UITableView scrolling problems when inside a UIScrollView

前端 未结 4 847
被撕碎了的回忆
被撕碎了的回忆 2021-01-05 01:06

I have a UIScrollView (with paging) to which I add three UIViews. Each of these UIViews has a UITableView inside. So, the user should be able to scroll horizontally to the p

相关标签:
4条回答
  • 2021-01-05 01:52

    Try to set

    self.scrollView.delaysContentTouches = YES;
    self.scrollView.canCancelContentTouches = NO;
    

    Maybe the UIScrollView don't pass touch informations to the subviews.

    0 讨论(0)
  • 2021-01-05 01:57

    Things I would check:

    1. Check your View Hierarchies - Is something being laid on top of your UITableView, causing it not to receive a tap?
    2. Are your UITableViews being disabled anywhere? I would set a breakpoint in tableView:didSelectRowAtIndexPath: and see if that method is being called.
    3. Check this post

    I guess those aren't sure-fire answers but hopefully they'll help discover the problem!

    0 讨论(0)
  • 2021-01-05 02:02

    This worked for me

    I programmatically added the tableView to my scroll view using addSubview:

    UIGestureRecognizerDelegate is needed.

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    
        if ([touch.view isDescendantOfView:self.signUpJammerList]) {
    
            return NO;
        }
        return YES;
    }
    
    0 讨论(0)
  • 2021-01-05 02:05

    I tried to reproduce a simplified version of your needs using basically Interface Builder and it seems to me it's working using basic coding and using default settings. Can you pls check my quick n dirty Github repo and kindly ask to reply whether it is applicable to your situation or what is missing.

    https://github.com/codedad/SO_ScrollView_with_Tables

    By default Interface Builder creates UIScrollView and UITableViews enabling:

    • Delays Content Touches ON
    • Cancellable Content Touches ON
    0 讨论(0)
提交回复
热议问题