11

カスタム UICollectionViewCell を実装しています。モデル データをセルのサブビューの初期化に使用できるようにモデル データを送信する方法を知りたいです。

MyCollectionViewCell を登録するには、..

[self.collectionView registerClass:[MyCollectionViewCell class] forCellWithReuseIdentifier:@"MyCell"];

そして、次の方法では、私は...

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

MyCollectionViewCell* cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];

私が直面している問題は、セルが再利用キューにない場合、initWithFrame メソッドを呼び出すことによって新しいセルを初期化することです (これはドキュメントで確認されています)。ただし、MyCollectionViewCell クラスにカスタムの init メソッドがあります。

-(id) initWithFrame:(CGRect)frame withData: (NSDictionary*) data;

代わりに、カスタムの初期化メソッドを呼び出す必要があります。どうすればいいですか?私はペン先を使用しておらず、プログラムですべてを行っています。

方法がなく、代わりに initWithFrame メソッドを使用する必要がある場合、モデル データを MyCollectionViewCell に渡して、そのデータでサブビューを初期化するにはどうすればよいでしょうか?

ありがとう!

4

2 に答える 2

6

デキュー直後の [cell initData:data] はどうですか?とにかく、デキューされたセルのデータを再初期化する必要があるでしょう。

于 2012-12-22T02:05:18.907 に答える