5

ナビゲーション コントローラー内のテーブル セルをクリックすると表示される UICollectionView があります。したがって、UICollectionView は、ナビゲーション コントローラーのスタックの 2 番目の画面です。

ペン先を登録し、UICollectionViewCell クラスを介してセルを作成すると、コレクション ビューにセルが正常に表示されました。しかし、セルのサブクラスを作成しようとすると、コレクション ビューが黒い画面として表示されます。私のプロジェクトはここにあります。 Dropbox のプロジェクトへのリンク

UICollectionViewCell をサブクラス化するために、次のことを行いました。

  • UICollectionViewCell のサブクラスの .h および .m ファイルを作成しました。nib の属性インスペクタでこのカスタム クラスを参照しました。

ここに画像の説明を入力

  • コレクション ビューを表示するビュー コントローラの viewDidLoad 内で、セルの再利用識別子を使用してカスタム クラスを登録しました。

    [self.collectionView registerClass:[CustomCollectionViewCell class] forCellWithReuseIdentifier:@"cvCell"];
    
  • 「collectionView: cellForItemAtIndexPath:」でカスタム セルのインスタンスを作成しました。

    CustomCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cvCell" forIndexPath:indexPath];
    

私が読んだことから、それはそれをするはずです!しかし、コレクション ビューが空白で表示されます。誰か助けてもらえますか??

4

1 に答える 1

7

私はあなたのコードをチェックしました。あなたは完璧にやった。セルを含むコレクション ビューは正しく表示されていますが、セルのプロパティを設定していないため表示されません。セルの背景色を設定して確認するだけですcellForItem

  cell.backgroundColor = [UIColor redColor];

nib ですべての作業が完了したら、クラスの代わりに nib を登録する必要があります。registerNibの代わりに使用しregisterClassます。クラスを登録している場合は、プログラムですべてを行う必要があります。

于 2013-04-02T06:53:42.387 に答える