UICollectionView - 当部分折叠时自定义项目消失

时间:2014-08-15 09:49:00

标签: uicollectionview collapse uicollectionviewlayout sections flowlayout

我崩溃了通过切换numberOfItemsInSection:来展开部分。折叠时,项目会通过alpha淡出消失。我想改变这种效果来缩小它们。

我想我可以使用自定义UICollectionViewFlowLayout并重载layoutAttributesForItemAtIndexPath:来实现此功能。但是当部分折叠时,numberOfItemsInSection:返回0 - 所以我无法为这些项设置目标比例。

什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

已找到方法:我们需要继承UICollectionViewFlowLayout并覆盖finalLayoutAttributesForDisappearingItemAtIndexPath:

例如:

- (UICollectionViewLayoutAttributes *)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath
{
    UICollectionViewLayoutAttributes *attributes = [super finalLayoutAttributesForDisappearingItemAtIndexPath:itemIndexPath];
    attributes.frame = CGRectInset(attributes.frame, 20, 20);
    return attributes;
}