Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 是否预先获取UICollectionView的所有单元格位置?_Ios_Objective C - Fatal编程技术网

Ios 是否预先获取UICollectionView的所有单元格位置?

Ios 是否预先获取UICollectionView的所有单元格位置?,ios,objective-c,Ios,Objective C,我需要一些建议来获取UICollectionView的所有单元格位置,但是原始值,-collectionView为我准备的值。在滚动过程中,我正在移动单元格以获得一些效果,因此我必须在某个时候将它们带回原点,但我找不到在需要时获取原始值的方法,尝试了以下方法: -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)index

我需要一些建议来获取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);
    }
事实证明,这并不是对每个单元格都调用的,因此我的值数组并不包含所有值,而是其中的一些值

我怎样才能事先得到他为所有未来细胞准备的所有价值观

编辑


结果表明它确实覆盖了所有的单元格,但我在将它们添加到数组中时出错了。

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

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

   }
if([单元格计数]