Jus*_*tin 15 objective-c uicollectionview uicollectionviewcell uicollectionviewlayout ios7
目标:
为单元格高度的变化设置动画并重新定位周围的单元格.
场景:
集合视图中的某些单元格会加载远程图像.最初,这些单元格的大小是静态的,并显示了活动指示符.加载图像后,将其添加到其单元格中,并更改单元格的高度以适合照片.
笔记:
我用它来动画细胞的框架变化animateWithDuration
.这样可以正常工作,除了增加的单元尺寸使其与下面的单元重叠.collectionView.collectionViewLayout invalidateLayout
在调整目标单元格大小并更新返回的大小后,我盲目地尝试调用但sizeForItemAtIndexPath
没有成功.
有什么建议?谢谢!
示例代码:
Dan*_*iel 15
基本上你需要做三个步骤
1.invalidate collectionViewLayout
2.执行批量更新:
...
//invalidate layout
[collectionView performBatchUpdates:^{
// make your cell at indexPath return a new size
} completion:^(BOOL finished) {
}];
Run Code Online (Sandbox Code Playgroud)
3.返回新的尺寸 sizeForItemAtIndexpath