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>UICollectionViewPSTCollectionView@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を参照してください。