Animation 选择UICollectionView时如何更改单元格?

Animation 选择UICollectionView时如何更改单元格?,animation,uicollectionview,uicollectionviewcell,Animation,Uicollectionview,Uicollectionviewcell,我想用动画改变UICollectionViewCell在被选中时的外观,使其更大,子视图更多。到目前为止,我已经尝试了很多方法,但没有一种有效 你认为有可能吗?如果有,你会怎么做? 在此主题上的任何帮助都将不胜感激- 我认为有两种可能性: 第一种方法:注册两种单元格并在方法中进行更改 -void collectionView:UICollectionView*collectionView didSelectItemAtIndexPath:NSIndexPath*indexPath 但使用此解决方

我想用动画改变UICollectionViewCell在被选中时的外观,使其更大,子视图更多。到目前为止,我已经尝试了很多方法,但没有一种有效

你认为有可能吗?如果有,你会怎么做? 在此主题上的任何帮助都将不胜感激-

我认为有两种可能性:

第一种方法:注册两种单元格并在方法中进行更改

-void collectionView:UICollectionView*collectionView didSelectItemAtIndexPath:NSIndexPath*indexPath

但使用此解决方案,动画将不会像使用其他方法那样干净

第二种方法:保留相同的单元格,但在布局中进行更改等。同样,使用相同的方法: 代码:


PS:如果可能的话,我想控制动画的持续时间。

不确定这是最好的方法,但我通过将UICollectionViewCell子类化并覆盖

-(void)setSelected:(BOOL)selected
{
    [super setSelected:selected];
    // start your animation and add your subviews here
}
这样做,您必须能够在回收单元格时恢复选定状态,因此您需要能够在不使用动画的情况下从-voidcollectionView:UICollectionView*collectionView didSelectItemAtIndexPath:NSIndexPath*indexPath返回到选定状态

-(void)setSelected:(BOOL)selected
{
    [super setSelected:selected];
    // start your animation and add your subviews here
}