1

私は UIcollectionView にこのコードを使用しています。iOS6 では正常に動作しますが、ios7 では動作しません。CollectionView のスクロールを開始すると、要素全体の方向が台無しになります。これに対する任意のアイデア

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return self.filteredNewsItems.count;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
NewsItemCell *cell = (NewsItemCell *)[collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];
cell.autoresizingMask = UIViewAutoresizingNone;

[cell loadWithArticle:self.filteredNewsItems[indexPath.item]];

return cell;
}

ここに画像の説明を入力

4

2 に答える 2

1

使ってみてください

 static NSString *cellIdenfier = @"collectionCell"; // this can be any string
NewsItemCell *cell = (NewsItemCell *)[collectionView dequeueReusableCellWithReuseIdentifier:cellIdenfier forIndexPath:indexPath];

あなたの場合、静的セル識別子を提供すると問題を解決できるように、スクロール中にセルが再使用されるため、セルがめちゃくちゃになりました。それでも問題が解決しない場合はお知らせください

于 2013-09-25T18:27:07.783 に答える
0

あなたの loadWithArticle: メソッドは、最初にセルにデータが入力されたときに作成した既存のサブビューを再利用するのではなく、常に NewsItemCell にビューを追加していると思われます。loadWithArticle: のコードを提供できますか?

于 2013-11-25T20:21:54.923 に答える