0

KKGridViewに似た独自のグリッドビューを実装しようとしています。

私のグリッドビューは、各セクションのアイテム/セルの数が異なる複数のセクションをサポートする必要があるため、非常に複雑です。(下記参照)

ここに画像の説明を入力してください

また、1つのセルをセクション1からセクション0に、セクション0からセクション1に移動できる必要があります。

グリッドを表示するUIViewを作成しましたが、あるセクションから別のセクションへのセルの移動はサポートされていません。問題は、このグリッドビューがiOS5とiOS6でサポートされる必要があるので、誰かがこの機能をサポートするグリッドビューを持っているか、または前進するための最良の方法を私にアドバイスできるかどうかです。

4

2 に答える 2

6

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

于 2012-12-21T11:00:23.777 に答える
1

カスタムセルを使用して、この機能を実現できます。1つのセルには10個のサブビューがあり、2番目のセルには6個のサブビューがあります。それはあなたのために働くでしょう。

1-6と1-10のタグでセル内のビューを取得できます

これを試して

于 2012-12-21T10:52:15.387 に答える