如何在UICollectionView中向下移动某些单元格

时间:2013-09-30 14:30:43

标签: iphone ios objective-c ipad uicollectionview

我想将某些UICollectionViewCell向下移动一个固定的高度。我尝试覆盖-layoutAttributesForElementsInRect:并更新center返回的数组中某些UICollectionViewLayoutAttributes的{​​{1}},但某些单元格却以某种方式丢失了。我是否需要覆盖其他内容?

enter image description here

2 个答案:

答案 0 :(得分:0)

实现UICollectionView的这种委托方法,您可以更改特定单元格的框架:

-(void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath

答案 1 :(得分:-1)

尝试实现此委托。它对我有用:

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
   if (indexPath.item == ....)
   {
      return newSize;
   }
   else
      return oldSize;
}

如果您希望此移动增加动画单元格的高度,可以通过

调用此委托
[_yourCollectionView performBatchUpdates:nil completion:nil];

因此,您可以在触发某些操作时刷新您的单元格。