如何在 UICollectionView 中向下移动某些单元格
Posted
技术标签:
【中文标题】如何在 UICollectionView 中向下移动某些单元格【英文标题】:How to move certain cells down in UICollectionView 【发布时间】:2013-09-30 14:30:43 【问题描述】:我想将某些UICollectionViewCell
s 向下移动一个固定高度。我尝试覆盖-layoutAttributesForElementsInRect:
并更新UICollectionViewLayoutAttributes
返回的数组中UICollectionViewLayoutAttributes
的center
[super layoutAttributesForElementsInRect:rect]
,但不知何故有些单元格以这种方式丢失了。我需要覆盖其他东西吗?
【问题讨论】:
你能解决吗?试过我的解决方案了吗? 【参考方案1】:实现 UICollectionView 的这个委托方法,您可以更改特定单元格的框架:
-(void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath
【讨论】:
【参考方案2】:尝试实现这个委托。它对我有用:
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
if (indexPath.item == ....)
return newSize;
else
return oldSize;
如果你想让这个动作增加动画单元格的高度,你可以调用这个代理
[_yourCollectionView performBatchUpdates:nil completion:nil];
因此您可以在触发某些操作时刷新您的单元格。
【讨论】:
以上是关于如何在 UICollectionView 中向下移动某些单元格的主要内容,如果未能解决你的问题,请参考以下文章
Objective-C UICollectionView 向上/向下滚动
如何在 UICollectionView 中添加按钮以插入新数据?
带有插图的 UICollectionView 不会一直向下滚动