2

カスタム コレクション cell.set で flowlayout を使用してコレクション ビューを作成しました。

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setItemSize:CGSizeMake(250, 480)];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
[self.templateCollectionView setCollectionViewLayout:flowLayout];

私はそれを水平に設定しましたが、それでもセルが図の中で間違って配置されatt mmpており、スクロールして元に戻すと正しい位置に戻ります。誰でもこれで何が悪いのか提案できますか?

コレクション

4

2 に答える 2

2

この回答には、私に役立つ回避策があります。以下は、水平スクロール用に編集して使用した修正です。基本的に、下の悪いフレームを提供している属性項目を除外するだけです。

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect {
     NSArray *attributes = [super layoutAttributesForElementsInRect:rect];
     NSMutableArray *newAttributes = [NSMutableArray arrayWithCapacity:attributes.count];
     for (UICollectionViewLayoutAttributes *attribute in attributes) {
          if (attribute.frame.origin.y + attribute.frame.size.height <=    self.collectionViewContentSize.height) {
               [newAttributes addObject:attribute];
          }
     }
     return newAttributes;
}
于 2013-04-03T14:51:45.070 に答える
0

通常、適切なセル間隔を指定していない場合に発生します。uicollectionview のセルにデータを入力する際に​​、セルの間隔を指定する必要があります。また、セルを正しくラップしていない UICollectionView flowLayout (iOS)を参照してください。

于 2013-04-04T13:37:00.903 に答える