【发布时间】:2015-06-18 12:57:01
【问题描述】:
使用以下代码,更改单元格的框架,然后为更改设置动画。
if (_new_h == 200){
_new_h = 70;
}
else{
_new_h = 200;
}
CustomCell *cell = (CustomCell*)[self.collectionView cellForItemAtIndexPath:indexPath];
[self.collectionView performBatchUpdates:^{
cell.frame = CGRectMake(cell.frame.origin.x, cell.frame.origin.y, cell.frame.size.width, _new_h);
} completion:nil];
当增加框架的高度时,动画可以正常工作。 当将其减小到原始大小时,单元格的动画很笨拙,快速降低高度,没有动画,但集合视图的其余部分会为更改设置动画
为什么只有降低高度才会出现这种情况?
【问题讨论】:
-
原始值是否与
new_h == 200相关? -
上面的代码在 didSelectItemAtIndexPath 中,所以它检查属性 new_h,如果是 200,则将其设置为 70,以此类推。从gif可以看出,地址所在的block是逐渐增加的,但是反转是突然的,立即resize到70而不是逐渐的
-
你能在增加高度时发帖以看到差异并尝试找到解决方案@Nick Ginanto?谢谢你:)
标签: ios animation uicollectionview