9

UICollectionViewiOS アプリ用に をセットアップする方法を探し回っています。グーグルは、それがどのように機能するかではなく、それが何であるかについての投稿を掲載したいくつかのブログを表示するだけです. それからもちろん、役に立つ Apple のドキュメントもありますが、.UICollectionView

どのようにセットアップできますUICollectionViewか?

4

2 に答える 2

32

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

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

  3. 次に、View Controller のクラスに次の 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 は「スワイプして削除」や種類の開示インジケーターなどの機能を提供しません。

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

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

Collection Viewsに関するAppleの公式ドキュメントへのリンクは次のとおりです。このチュートリアルもご覧ください。

于 2012-09-29T16:11:26.940 に答える
25

カスタム レイアウトを使用して UICollectionViews をセットアップするための段階的なチュートリアルを作成しました。一部の人々が API に慣れるのに役立つことを願っています。

于 2012-12-04T00:45:40.513 に答える