0

我有一个使用流布局的 UICollectionView。

最初它在 iPad 屏幕上显示大约 5 X 5 的小单元。

我想做的事情是平滑地更改为几乎全屏的单元格大小,单元格的布局更大,布局略有不同。

----------------
| |---| |---|  |
| |   | |   |  |
| |---| |---|  |
|              |
| |---| |---|  |
| |   | |   |  |
| |---| |---|  |
----------------

transitions to..
----------------
| |---------|  |
| |         |  |
| |         |  |
| |         |  |
| |---------|  |
|              |
| |---------|  |
----------------

目前,我使用了一个布尔值showLarge,当用户单击 ( didSelectItemAtIndexPath)时我将其设置为 YES

然后我重新加载数据。

self.showLarge = YES;
[self.collectionView reloadData];

在我cellForItemAtIndexPath的我根据布尔值加载适当的单元格:

 if (!self.showLarge)
 {
     SmallCell *smallCell ..
     etc
     return smallCell;
 } else
 {
     LargeCell *smallCell ..
     etc
     return largeCell;
 }

然而,这是一个突然的转变。

我将如何顺利地为新的自定义 UICollectionViewCell 制作动画?

4

1 回答 1

2

您可以使用不同的UICollectionViewFlowLayout,然后动态更改集合视图的布局。这会给你一个很好的动画,而不需要重新加载任何东西。

于 2013-06-27T10:12:22.413 回答