collectionview非常奇怪

时间:2013-03-18 16:03:50

标签: ios ipad uicollectionview uicollectionviewcell uicollectionviewlayout

我使用自定义集合cell.set创建了一个集合视图,其中flowlayout为

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

我将它设置为水平,但仍然在图中放错了单元格,请参阅att mmp放错位置&如果我们滚动并加载它,它将返回到正确的位置。任何人都可以提出这方面的错误吗?

collection

2 个答案:

答案 0 :(得分:2)

this answer有一项适用于我的工作。下面是我为水平滚动编辑使用的修复程序。基本上只是过滤掉下面提供坏帧的属性项。

- (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;
}

答案 1 :(得分:0)

通常在我们没有给出适当的细胞间距时发生。确保在填充uicollectionview的单元格时,应该给出单元格间距。 也可以通过UICollectionView flowLayout not wrapping cells correctly (iOS)帮助你。