Я пытаюсь воспроизвести это в данный момент:
Если вы знакомы с приложением Google, оно выглядит как UICollectionView с настраиваемым макетом потока.
Я расширяю вопрос, который был закрыт с помощью дополнительного кода.
В пользовательском классе компоновки потока я могу создать эффект «стекания», установив отрицательное значение минимального межстрочного интервала и используя следующее:
- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
{
NSArray *allAttributesInRect = [super layoutAttributesForElementsInRect:rect];
CGPoint centerPoint = CGPointMake(CGRectGetMidX(self.collectionView.bounds), CGRectGetMidY(self.collectionView.bounds));
for (UICollectionViewLayoutAttributes *cellAttributes in allAttributesInRect)
{
if (CGRectContainsPoint(cellAttributes.frame, centerPoint))
{
cellAttributes.transform = CGAffineTransformIdentity;
cellAttributes.zIndex = 1.0;
}
else
{
cellAttributes.transform = CGAffineTransformMakeScale(0.75, 0.75);
}
}
return allAttributesInRect;
}
Анимация смахивания для удаления работает нормально, но у меня возникли проблемы с созданием «сложенного» вида, а затем перетаскиванием всего 1 ячейки вверх в вид, при этом остальные карты остаются сложенными, как вы видите выше.