事先获取UICollectionView的所有单元格位置?

时间:2014-08-21 07:40:26

标签: ios objective-c

我需要一些建议来获取UICollectionView的所有单元格位置,但是原始值, - collectionView适合我的值。我在滚动过程中移动细胞以获得一些效果,所以我必须在某个时候将它们带回原点,但是当我需要它时我无法找到获取原始值的方法,试过这个:

 -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
 if(![cells containsObject:cell])
    {
        [cells addObject:cell]; //add pointer to cell
        [cellsY addObject:[NSNumber numberWithFloat:cell.frame.origin.y]];//save also Y position 
        NSLog(@"%ld %f",cell.tag,cell.frame.origin.y);
    }

原来并没有为每个单元调用它,所以我的值数组不包含所有值,而是包含其中的一些值。

我怎样才能预先得到他为未来所有细胞预定的所有价值?

修改

原来它会覆盖所有单元格,但我有一些错误将它们添加到数组中。

1 个答案:

答案 0 :(得分:0)

我的错误,一个愚蠢的错误。为每个单元格调用此委托。我只需要保存正确的价值:

 if([cells count]<cell.tag+1)
   {
       [cells addObject:[NSValue valueWithCGRect:cell.frame]];

   }