iPhone:UICollectionView的Indexpath.row

时间:2012-11-06 23:32:46

标签: iphone uicollectionview nsindexpath

我尝试重新制作iOS的图片库。

在图像的详细信息屏幕中,我想将导航栏的标题更新为

3 of 19

UICollectionView 停止滚动并更新'3'时,有没有办法获取可见对象的当前 indexpath.row 并在其旁边更新图像标题19'冠军。

2 个答案:

答案 0 :(得分:3)

此代码工作正常!

- (void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath{
    BOPhotoCollectionViewCell* currentCell = ([[collectionView visibleCells]count] > 0) ? [[collectionView visibleCells] objectAtIndex:0] : nil;
    if(cell != nil){
        _index = [collectionView indexPathForCell:currentCell].row;
        [self updateTitle];
    }
}

答案 1 :(得分:3)

实现UIScrollViewDelegate的下方委托方法(因为UICollectionViewDelegate是从UIScrollViewDelegate继承而来的)。

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
  NSInteger currentIndex = scrollView.contentOffset.x / scrollView.frame.size.width;
  [self setTitle:[NSString stringWithFormat:@"%ld of %ld",(long)currentIndex + 1, (long)self.itemList.count]]; 
}