UICollectionViewCell 带有约束的动画

Posted

技术标签:

【中文标题】UICollectionViewCell 带有约束的动画【英文标题】:UICollectionViewCell animate with constraints 【发布时间】:2015-09-01 11:06:28 【问题描述】:

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

关于如何使用约束让其他单元格针对这种大小变化进行调整有什么建议吗?

这是我正在使用的代码:

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) 


                  ];

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

【问题讨论】:

UICollectionView: Animate cell size change on selection的可能重复 【参考方案1】:

为集合视图单元格设置动画的最简单方法是重新加载单元格并从sizeForItemAtIndexPath: 方法返回新大小。在您设置好数据源控制器之后,只需重新加载布局即可

[collectionView setCollectionViewLayout:[[UICollectionViewFlowLayout alloc] init] animated:YES];

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

【讨论】:

效果很好。谢谢。

以上是关于UICollectionViewCell 带有约束的动画的主要内容,如果未能解决你的问题,请参考以下文章

涉及 UICollectionViewCell 和子视图的约束问题违反逻辑

在 UICollectionViewCell 上设置约束的问题

Swift - 从 UICollectionViewCell 内的视图中删除约束

如何根据设备屏幕调整 UICollectionViewCell 的大小

设置了 UICollectionView 和 UICollectionViewCell 的约束但不能正确显示

UICollectionViewCell 在代码中调整布局后更新约束