web-dev-qa-db-ja.com

iOSでのUICollectionViewの設定

私はiOSアプリ用にUICollectionViewをセットアップする方法を探し回っています。グーグルは、それが機能するかではなく、であるかについての投稿を含むいくつかのブログを表示するだけです。そしてもちろん、Appleのドキュメントは役に立ちますが、UICollectionViewをセットアップできるようにしたいほど多くの情報を提供していません。

どうすればUICollectionViewを設定できますか?

9
Sam Spencer

icollectionview クラスは itableview クラスとほぼ同じです。それらは同じメソッドと機能の多くを共有しています。また、メソッド/関数が異なる場合、ほとんどの場合、「行」を「セル」に、またはその逆に交換するだけです。ただし、UITableViewで実行されるUICollectionViewには存在しないメソッドがいくつかあります。ただし、最初に、UICollectionViewの設定方法について説明します。

  1. UICollectionViewを現在のViewControllerに追加するか、新しいUICollectionViewControllerを作成することから始めます。手順は、ビューとコントローラーでそれほど違いはありません。
  2. ViewControllerではなくViewを使用している場合は、CollectionViewのDelegateおよびDataSourceがViewControllerであることを確認してください。オンです。また、デリゲートとデータソースをヘッダーファイルに追加してください:<UICollectionViewDataSource, UICollectionViewDelegate>

  3. 次に、ViewControllerのクラスに次の3つのメソッドを必ず含めてください。

    -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
    
    -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    
    -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    
  4. これらが唯一の必要な方法です。 1つ目は、コレクションビューに必要なセクションの数を示します。これは整数値を返すはずです。 2番目の方法は、各セクションのセル数を取得します。繰り返しますが、これは整数値を返すはずです。最後のメソッドは、指定されたデータ(通常はNSArrayから)を使用して各セルにデータを入力します。この最後のメソッドは、CollectionViewCellを返す必要があります。このメソッドにブレークポイントを設定すると、numberOfItemsInSectionメソッドで定義されたセルごとに1回呼び出されることがわかります。

UICollectionViewsは、高度なアニメーションメソッドを提供し、セルの選択を解除して選択できるようにします(「編集」モードの場合のPagesなどのアプリと同様)。ただし、私の知る限り、UICollectionViewsは、「スワイプして削除」や一種の開示インジケーターなどの機能を提供していません。

UICollectionViewsを使用すると、 xib (AKA nib )ファイルを使用してカスタムセルを作成することもできます。これにより、複雑なコードを多く使用せずに、非常に高度な外観の一意のインターフェイスを使用できます。

残念ながら、UICollectionViewはiOS6以降でのみサポートされています。 iOS 4.3以降でCollectionViewsのサポートを追加する PSTCollectionView など、利用可能なプロジェクトがいくつかありますが、それらの使用方法がわかりません。私の場合、ビューが読み込まれると、UICollectionViewクラスが使用可能かどうかを確認し、使用できない場合は、代わりにテーブルを読み込みます。

コレクションビュー に関するAppleの公式ドキュメントへのリンクは次のとおりです。これもチェックしてみてください tutorial

32
Sam Spencer

カスタムレイアウトでUICollectionViewsを設定するためのステップバイステップ チュートリアル を作成しました。うまくいけば、それが一部の人々がAPIに慣れるのに役立つでしょう。

25
bryguy1300