我使用自定义集合 cell.set 创建了一个 Collection View ,其 flowlayout 为
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setItemSize:CGSizeMake(250, 480)];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
[self.templateCollectionView setCollectionViewLayout:flowLayout];
我将其设置为水平,但图中仍然有一个单元格错位,请参阅 att mmp
错位,如果我们滚动并将其加载回来,它将回到正确的位置。谁能建议这有什么问题吗?
最佳答案
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;
}
关于ios - uicollectionview 加载异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15481365/