0

我有一个全屏 collectionView 的视图,它的单元格也是全屏的;一次可以查看一个单元格(让我们假设它是 iPhone 5 只是为了简单起见)。在下面的代码中,我正在记录加载了哪个单元格:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
        CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CollectionCell" forIndexPath:indexPath];
        NSObject *someObject = [someArray  objectAtIndex:indexPath.row];
        cell.someLabel.text = [someObject valueForKey:@"label"];

        NSLog(@"index:%d",[someArray indexOfObject:someObject]);
    }

当我向下滚动一个像素时(collectionView 垂直滚动),从index:移动01. 当我向上滚动相同的像素时,它仍然显示为1. 显然,向下滚动一个像素只显示第二个单元格的一个像素,该像素被记录下来。向上滚动显示整个第一个单元格,但不记录0

如何记录当前完全在视图中的单元格?

4

1 回答 1

0

尝试这个。它可能会帮助你。

NSArray *arr = [collectionView indexPathsForVisibleItems];
if ([arr count]!=0) {
   NSLog(@"%@",[arr objectAtIndex:0]);
}
于 2013-05-01T05:59:15.477 回答