两个UICollectionViewCell之间的转换

时间:2013-06-27 10:10:12

标签: ios objective-c uicollectionview uicollectionviewcell

我有一个使用流布局的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?

1 个答案:

答案 0 :(得分:2)

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