Я сворачиваю и разворачиваю разделы, переключая numberOfItemsInSection:. При сворачивании элементы исчезают из-за исчезновения альфа-канала. Я хотел бы изменить этот эффект на их уменьшение.

Я думаю, что смогу реализовать это с помощью пользовательского UICollectionViewFlowLayout и перегруженного layoutAttributesForItemAtIndexPath:. Но когда раздел сворачивается, numberOfItemsInSection: возвращает 0, поэтому я не могу установить масштаб назначения для этих элементов.

Какой правильный подход?

1
brigadir 15 Авг 2014 в 13:49

1 ответ

Лучший ответ

Нашли подход: нам нужно создать подкласс UICollectionViewFlowLayout и переопределить finalLayoutAttributesForDisappearingItemAtIndexPath:

Например:

- (UICollectionViewLayoutAttributes *)finalLayoutAttributesForDisappearingItemAtIndexPath:(NSIndexPath *)itemIndexPath
{
    UICollectionViewLayoutAttributes *attributes = [super finalLayoutAttributesForDisappearingItemAtIndexPath:itemIndexPath];
    attributes.frame = CGRectInset(attributes.frame, 20, 20);
    return attributes;
}
1
brigadir 5 Сен 2014 в 15:46