TableView根据单元格宽度水平滚动

时间:2019-02-17 17:20:04

标签: ios uiscrollview autolayout

我在滚动视图中有一个表格视图,该视图将根据表格视图单元格的宽度滚动。我已经从顶部,底部,前导和尾随设置了滚动视图。然后,我给相同的约束条件来在包括centerX的滚动视图中进行视图和centerY。然后进行水平滚动,将拖尾和centerX优先级设置为250。但是我的表格视图没有滚动。我想通过自动布局设置它。

如果标签在表格视图单元格内增加,我希望表格水平滚动。

这是我的视图层次结构

enter image description here

1 个答案:

答案 0 :(得分:-1)

@Zahid我在github上做了一个公开示例,下面是我写的内容:

https://github.com/amichnia/stack-54735700

原始答案:

如前所述,表视图通常不会水平滚动。 但是没有人说您不能将表格视图放到水平滚动的UIScrollView中。但是这里会有一些挑战:

  1. 我认为使用自动调整大小的单元格进行自动布局不会很好。

  2. 您需要弄清楚scrollview / tableview手势识别器的顺序。您可以使用UIGestureRecognizer委托方法来解决其冲突

  3. 您需要确定表格视图的宽度。您可以使用旧的讨厌的方法来做到这一点:

    • 首先计算每个单元格的大小,
    • 最大采用这些尺寸
    • 将其设置为表格视图宽度
    • 重新加载数据

值得麻烦吗?那是您接听的电话。

使用您的设置(我将滚动视图视为根视图)时,最简单(但不是最好)的选项是禁用表视图上的滚动,启用滚动视图上的两个方向的滚动以及仅更新整个表视图的大小。 尽管如此,它仅适用于少量细胞!