【问题标题】:Horizontal scrolling UITableView [duplicate]水平滚动 UITableView [重复]
【发布时间】:2025-11-28 18:00:02
【问题描述】:

可能重复:
Horizontal UITableView

我需要使 UITableView 水平滚动。我有一个宽度为 600 的自定义表格,因为它太大了。该表需要可滚动。我该怎么做?

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    看看这个https://github.com/alekseyn/EasyTableView

    这应该可以解决您的问题。

    【讨论】:

      【解决方案2】:

      对于遇到此问题的任何人,与提供的其他一些建议相反,UITableView 的水平滚动是可能的,并且不违反 HIG。如果是这样,为什么 Apple 会提供水平滚动功能?

      让它正常工作的方法是只设置 ContentSize,而不是 FrameSize。我是一名 MonoTouch 程序员,所以我不确定 Objective-c 中的确切等价物是什么,但我们解决这个问题的方法是创建一个从 UITableView 继承的自定义类并覆盖 LayoutSubviews 方法。在这个方法中,我们计算并设置当前的 ContentSize。

      这种方法捕获了我们发现的所有可能会重置 ContentSize 的情况,包括旋转设备、滚动和缩放。

      【讨论】:

        【解决方案3】:
        CGRect frame = tblView.frame;
        tblView.transform = CGAffineTransformRotate(stressTblView.transform, M_PI / 2);
        tblView.frame = frame;
        

        【讨论】:

          【解决方案4】:

          您要做的是使用UIScrollView 并用“单元格”样式的视图从左到右填充它。

          【讨论】:

            【解决方案5】:

            我不认为你可以让UITableView 水平滚动。我的建议是使用UIScrollViewUIScrollViewUITableView 的超类,并为您提供您期望从 UITableView 获得的滚动行为。您没有得到的是使UITableView 如此方便的表格单元格管理。因此,您必须管理自己的内容。这是一个多一点的工作,但你得到了更多的控制。

            【讨论】:

            • 您可以将UITableView 添加到UIScrollView 并使其水平滚动。请参阅我对这个类似问题的回答:*.com/a/10649401/482557
            • 最好使用单行 UICollectionView
            • 维努是对的。这个答案是 pre-collectionview。
            【解决方案6】:

            我认为水平滚动不是一个好主意,可能违反了 Apple 的 HIG。

            表格视图不一定要提供所有信息,而只是提供一些最重要的信息,查看需要很大空间的信息我建议你做一个详细视图。

            【讨论】: