iOS5との互換性のためにUICollectionView
、とをUICollectionViewFlowLayout
組み合わせて使用してみます。PSTCollectionView
- ドキュメントを見て
UICollectionViewDelegateFlowLayout
ください。必要に応じて、セクションごとのカスタムレイアウトを作成するために必要なすべてのものが見つかると思います。
PSTCollectionView
は「オープンソース、iOS4.3以降のUICollectionViewの100%API互換の代替品」です。さらに、iOS6で使用でき、iOS5デバイスUICollectionView
でのみフォールバックできます。GitHubプロジェクトページPSTCollectionView
をご覧ください。
私が取り組んでいるアプリの1つでこのアプローチを使用しており、実装は非常に簡単です。
編集:あなたが望むものを作るためにあなたが取るであろうステップは大まかに次のようになるでしょう:
- プロジェクトにインクルードでダウンロードする必要があり
PSTCollectionView
ます。そのためには、GitHubページの手順に従ってください。
- ファイルに、次の2つのプロトコルを
.h
インポートして追加します。これにより、iOS6およびiOS5でAppleを使用することに注意してください。ここで、コレクションビューのプロパティも追加する必要があります。PSTCollectionView.h
<PSUICollectionViewDataSource, PSUICollectionViewDelegate>
UICollectionView
PSTCollectionView
@property (nonatomic, strong) PSUICollectionView *collectionView;
- この
viewDidLoad:
方法では、次のようなものが必要です。
コード:
PSUICollectionViewFlowLayout *flowLayout = [[PSUICollectionViewFlowLayout alloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
[flowLayout setItemSize:CGSizeMake(91, 119)];
[flowLayout setMinimumLineSpacing:0];
self.collectionView.dataSource = self;
self.collectionView.delegate = self;
- また、必要に応じて次のメソッドを実装する必要があります。
方法:
numberOfSectionsInCollectionView:
collectionView:numberOfItemsInSection:
collectionView:cellForItemAtIndexPath:
collectionView:layout:insetForSectionAtIndex:
collectionView:layout:minimumLineSpacingForSectionAtIndex:
collectionView:layout:minimumInteritemSpacingForSectionAtIndex:
UICollectionView
重要:クラスのすべての言及の前に。を付けることを忘れないでくださいPS
。たとえば、PSUICollectionView
またはPSUICollectionViewLayout
。
編集2:の一般的な理解については、この優れたチュートリアルUICollectionView
を参照してください。