如何将滚动视图嵌入到表格视图中
Posted
技术标签:
【中文标题】如何将滚动视图嵌入到表格视图中【英文标题】:How to embed scrollview into tableview 【发布时间】:2018-07-13 07:23:09 【问题描述】:使用UIScrollView
仅用于水平滚动。内容高度和滚动视图高度相等。垂直滚动需要传递到父视图,传递到UITableView
。怎么样?
不幸的是我不能覆盖,或者向滚动视图添加扩展方法,所以我不能实现这个方法:shouldRecognizeSimultaneouslyWith
。
【问题讨论】:
我想你是在尝试平行滚动 您建议使用 parallex 以编程方式进行操作?创建滚动轨道垂直滚动的委托,并更改偏移嵌套tableview?没有更简单的解决方案? 我确实使用过这样的UI,我的做法是在tableview单元类中添加UIScrollView,并在单元类本身中处理所有滚动视图委托方法。我认为你不需要做任何事情来让垂直滚动传递到父视图,只要你正确设置内容高度并禁用反弹,ios就会自动完成。 【参考方案1】:UIScrollView 支持嵌套滚动视图是标准行为,因此您无需执行任何操作,因为 UITableView 是 UIScrollView 的后代。
Apple docs, see section Cross-directional scrolling
您的应用程序不需要做任何事情来支持嵌套滚动。默认支持并提供。
更新:
我按如下方式进行了尝试,并且在两个方向上滚动都可以正常工作。您可以在左侧看到视图层次结构。我的测试代码如下,然后是我滚动每个视图后的输出屏幕。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
return 5;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
return cell;
【讨论】:
可能支持横向滚动,但您还没有回答如何。当滚动视图嵌套到表格视图中时,你能举一个例子吗?以上是关于如何将滚动视图嵌入到表格视图中的主要内容,如果未能解决你的问题,请参考以下文章