0

データの表を表示する必要があります。行と列。UITableView を使用するのではなく、UICollectionView で問題を解決できると思い、それに頼りました。UICollectionView の flowLayout (すぐに使えるレイアウト) は、実際に複数のデータ列を表示します。しかし、複数の画面幅のコンテンツを表示することはできますか? たとえば、UICollectionView に 3 つの画面幅のデータを表示させたいとします (たとえば、iPhone の場合、320*3=960px です)。デフォルトでは、UICollectionView の FlowLayout は、画面幅でデータ表示を中断し、残りを次の行に表示するように見えます。ここで、ページ幅の終わりではなく、(3 * ページ幅) の終わりで改行したくありません。

私が試したこと: CollectionView を UIScrollView 内に配置し、スクロールビューの幅を次のように 3*page-width に設定しました。

ここに画像の説明を入力

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

アプリを実行すると、ページに 3*page-width の幅が表示されます。うまく横スクロールできます。それでも、UICollectionView のデータは 1 ページ幅で壊れ、次の行に表示され続けます (つまり、スクロールビューの幅を幅と見なさず、ページ幅を幅と見なし続けます)。

ご提案/コメントをお寄せください。とても役に立ちます!

4

1 に答える 1

0

フロー レイアウトが垂直方向ではなく水平方向にスクロールするように、スクロール方向を変更するだけでよいはずです。

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

これは、Interface Builder で直接設定することもできます。

于 2013-04-22T04:17:53.267 に答える