在CollectionView中记录单元格

时间:2013-04-30 15:36:45

标签: iphone uitableview nsarray uicollectionview uicollectionviewcell

我有一个全屏收藏视图,谁的细胞也全屏;一次可以查看一个单元格(让我们假设只有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:0移动到1。当我向上滚动同一个像素时,它仍会显示1。显然,向下滚动该一个像素仅显示第二个单元格的一个像素,该像素被记录。向上滚动显示整个第一个单元格,但不记录0

如何在视图中记录当前哪个单元格?

1 个答案:

答案 0 :(得分:0)

试试这个。它可能对你有帮助。

NSArray *arr = [collectionView indexPathsForVisibleItems];
if ([arr count]!=0) {
   NSLog(@"%@",[arr objectAtIndex:0]);
}