uicollectionview 加载奇怪

Posted

技术标签:

【中文标题】uicollectionview 加载奇怪【英文标题】:uicollectionview Loads wierdly 【发布时间】:2013-03-18 16:03:50 【问题描述】:

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

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

我将它设置为水平,但图中仍然有一个单元格放错了位置,请参阅att mmp misplaced & 如果我们滚动并加载它,它会回到正确的位置。谁能建议这有什么问题?

【问题讨论】:

需要更多描述...提供更多信息.. 【参考方案1】:

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;

【讨论】:

【参考方案2】:

当我们没有给出适当的单元格间距时,通常会发生这种情况。确保在填充 uicollectionview 的单元格时,应给出单元格间距。 也可以通过UICollectionView flowLayout not wrapping cells correctly (ios) 对您有所帮助。

【讨论】:

以上是关于uicollectionview 加载奇怪的主要内容,如果未能解决你的问题,请参考以下文章

uicollectionview 加载奇怪

重新加载数据时的 UICollectionView 奇怪的动画(幽灵单元、flash)

collectionView必须点击两次才跳转

UICollectionView 未注册单元格

UiCollectionView 间距问题 - 快速

RFQuiltLayout 和 UICollectionView