顶部 UIScrollView 上的 UITableView 不起作用
Posted
技术标签:
【中文标题】顶部 UIScrollView 上的 UITableView 不起作用【英文标题】:UITableView on top UIScrollView not working 【发布时间】:2015-12-29 11:51:16 【问题描述】:我将UITableView
放在UIScrollView
上,当我想滚动UITableView
时,它没有滚动......(UIScrollView
didScroll 函数没有运行)。
我在故事板工作。
我的代码:
CGRect screenSize = [[UIScreen mainScreen]bounds];
[_myScrollView setContentSize: CGSizeMake(screenSize.size.width, screenSize.size.height)];
_myScrollView.delegate = self;
_tableView.scrollEnabled = NO;
_myScrollView.scrollEnabled = YES;
V。 B.
我不会滚动 UIScrollView
,而不是 UITableView
...
【问题讨论】:
你能添加更多代码吗 我没有更多的代码,(除了标准的 UITableView 代码)。 【参考方案1】:更改滚动视图的 contentSize。现在设置为屏幕大小。使用此代码
[_myScrollView setContentSize: CGSizeMake(screenSize.size.width, 2 * screenSize.size.height)];
【讨论】:
它正在工作,但是当我向下滚动表格时没有重新加载数据,即使我在 scrollView didScroll 和 scrollViewWillBeginDragging 中调用 [_tableView.reloadData] ...(我可以仅前 12 行)。【参考方案2】:我认为你的等级制度是这样的::
UIView
- UIScrollView (outerscroll)
- Some other views and buttons
- UITableView (tableView)
来自Apple Documentation,您不应该在 UIScrollView 中嵌入 UITableView。
重要提示:您不应在 UIScrollView 对象中嵌入 UIWebView 或 UITableView 对象。如果这样做,可能会导致意外行为,因为这两个对象的触摸事件可能会混淆和错误处理。 您的问题确实与您的 UIScrollView 所做的有关。
但如果只是在需要时隐藏 tableview(这是我的情况),你可以将 UITableView 移动到它的 superview 中。
我在这里找到了一个小例子:https://github.com/rvirin/SoundCloud/
【讨论】:
以上是关于顶部 UIScrollView 上的 UITableView 不起作用的主要内容,如果未能解决你的问题,请参考以下文章