水平滚动的UITableView

14

我需要将UITableView横向滚动。 我有一个自定义表格,宽度为600,因为这太大了,所以该表格需要可滚动。我该怎么做?

可能重复:
Horizontal UITableView

6个回答

5
对于任何遇到此问题的人来说,与其他一些提供的建议相反,UITableView的水平滚动是可行的,并且不违反HIG。如果违反了,为什么苹果会提供滚动条的水平滚动功能呢?
要使此项工作正常运作,唯一需要设置的是ContentSize而非FrameSize。作为MonoTouch程序员,我不确定在objective-c中确切的等效方法是什么,但我们解决这个问题的方式是创建一个从UITableView继承的自定义类并覆盖LayoutSubviews方法。在此方法中,我们计算并设置当前的ContentSize。
这种方法适用于我们发现的所有可能情况,包括设备旋转、滚动和缩放。

5

5
CGRect frame = tblView.frame;
tblView.transform = CGAffineTransformRotate(stressTblView.transform, M_PI / 2);
tblView.frame = frame;

1

我认为你不能使UITableView水平滚动。我的建议是使用UIScrollViewUIScrollViewUITableView的超类,并提供了您从UITableView期望的滚动行为。您无法获得表格单元管理,这使得UITableView非常方便。因此,您必须管理自己的内容。这需要更多的工作,但您可以获得更多的控制。


1
您可以将 UITableView 添加到 UIScrollView 中,使其水平滚动。请参见我对类似问题的回答:http://stackoverflow.com/a/10649401/482557。 - Evan R
1
最好使用UICollectionView,只有一行。 - Vinu David Jose
Vinu是正确的。这个答案是预先收集视图。 - fsaint

1
你想要做的是使用一个UIScrollView,并从左到右填充它,用“cell”样式的视图。

0

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

表格视图不一定要提供所有信息,而只需提供一些最重要的信息,如果要查看需要大量空间的信息,建议您使用详细视图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接