UICollectionViewCell 带有约束的动画

UICollectionViewCell animate with constraints

我试图在按下时垂直展开单元格。目前单元格膨胀,但它只是与周围的其他单元格重叠。

关于如何使用约束让其他单元格针对此大小变化进行调整的任何建议?

这是我使用的代码:

UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];

  [UIView transitionWithView:collectionView
                    duration:.5
                     options:UIViewAnimationCurveEaseIn
                  animations:^{

                    cell.frame = CGRectMake(cell.frame.origin.x, cell.frame.origin.y, 500, cell.frame.size.height);

                    [cell setBackgroundColor:[UIColor greenColor]];
                  } completion:^(BOOL finished) {


                  }];

编辑:这不是重复问题,因为前一个问题没有解决我的问题。

为集合视图单元格设置动画的最简单方法是重新加载单元格,并通过 sizeForItemAtIndexPath: 方法 return 一个新的大小。在你设置你的数据源控制器来执行此操作后,只需使用

重新加载布局
[collectionView setCollectionViewLayout:[[UICollectionViewFlowLayout alloc] init] animated:YES];

这提供了一个非常流畅的动画。