【问题标题】:How to embed scrollview into tableview如何将滚动视图嵌入到表格视图中
【发布时间】:2018-07-13 07:23:09
【问题描述】:

使用UIScrollView 仅用于水平滚动。内容高度和滚动视图高度相等。垂直滚动需要传递到父视图,传递到UITableView。怎么样?

不幸的是我不能覆盖,或者向滚动视图添加扩展方法,所以我不能实现这个方法:shouldRecognizeSimultaneouslyWith

【问题讨论】:

  • 我想你是在尝试平行滚动
  • 您建议使用 parallex 以编程方式进行操作?创建滚动轨道垂直滚动的委托,并更改偏移嵌套tableview?没有更简单的解决方案?
  • 我确实使用过这样的UI,我的做法是在tableview单元类中添加UIScrollView,并在单元类本身中处理所有滚动视图委托方法。我认为你不需要做任何事情来让垂直滚动传递到父视图,只要你正确设置内容高度并禁用反弹,ios就会自动完成。

标签: ios uitableview uiscrollview


【解决方案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;
}

【讨论】:

  • 可能支持横向滚动,但您还没有回答如何。当滚动视图嵌套到表格视图中时,你能举一个例子吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多