独自のカスタムUICollectionViewCell
実装を定義して、UICollectionView
. これが私がやったことです。
1- ストーリーボードを使用しています。
2-UICollectionView
絵コンテのシーンである別のビューに を追加しました。
3-シーンのコントローラーにコレクションの と を指定しましたdatasource
。delegate
4-コントローラーで必要なメソッドの実装を提供しました。
5-セルビュー.h
と.m
ファイルを作成しました。私がする.h
ファイルで
@interface HscCellView : UICollectionViewCell
6- 新しいビューを作成したので、新しいキャンバスを取得し、右側の適切なセクションでクラス名を指定し (手順 5 と同じ)、一意の識別子を指定しました。
7- シーンのコントローラーで、.h ファイルに、ドラッグしたコレクション ビューへのアウトレットを定義しました。
@property (nonatomic, strong) IBOutlet UICollectionView *holesCollectionView;
そしてviewDidLoad
私はそうします
[self.holesCollectionView registerClass:[HscCellView class] forCellWithReuseIdentifier:@"cellView"];
cellView
は、カスタム セル xib に指定した一意の識別子であることに注意してください。
8-最後に、実装しました
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
HscCellView *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellView" forIndexPath:indexPath];
return cell;
}
アプリを起動すると、一連のセル ビュー (メッセージで 9 を指定したため 9 numberOfItemsInSection
) が表示されますが、それらはカスタム セル ビューではありません。サイズ、色、ラベルはありません。エラーはありません。私は立ち往生しています。
いくつかの補助的な質問。
いつ nib を登録し、いつクラス名を登録しますか? 私はそれが両方の方法で行われるのを見てきましたが、ほとんどの場合、ペン先とクラス定義コードの両方で終わるようです。それは本当ですか?.
手順 6 で、カスタム セル ビューのキャンバスで一意の ID を指定すると、クラスを に登録する必要がないということ
viewDidLoad
ですか?