0

我需要显示一个数据表;行和列。我认为 UICollectionView 会解决我的问题并求助于它,而不是使用 UITableView。UICollectionView 的 flowLayout(开箱即用的布局)确实显示不止一列数据。但是我可以让它显示超过一个屏幕宽度的内容吗?说,我想让 UICollectionView 显示 3 个屏幕宽度的数据(例如,对于 iPhone,它是 320*3=960px)?默认情况下,UICollectionView 的 FlowLayout 似乎会在屏幕宽度处中断数据显示并继续在下一行显示其余部分。现在,我不希望它在页面宽度的末尾中断,而是在 (3 * page-width) 的末尾。

我尝试了什么:我将 CollectionView 放在 UIScrollView 中,并将滚动视图的宽度设置为 3*page-width,如下所示:

在此处输入图像描述

[self.scrollView setContentSize:CGSizeMake([[UIScreen mainScreen] bounds].width*3.0, [[UIScreen mainScreen] bounds].size.height)];

当我运行应用程序时,页面确实显示了 3*page-width 的宽度。我能够很好地水平滚动。但是,UICollectionView 数据仍然在一个页面宽度处中断并继续显示下一行(这意味着它不将滚动视图的宽度视为其宽度;而是继续将页面宽度视为其宽度)。

请提供您的建议/意见。会有很大帮助的!

4

1 回答 1

0

您应该能够只更改滚动方向,以便流布局将水平滚动而不是垂直滚动:

UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout;
layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;

您也可以直接在 Interface Builder 中进行设置。

于 2013-04-22T04:17:53.267 回答